【发布时间】:2022-01-11 10:11:56
【问题描述】:
我是一名新手程序员,目前正在学习 python 和 Mac 终端。
主要问题:我如何返回到 Mac 终端的原始状态,它显示控制台和(基本)?我的 mac 终端目前在 ttys000 上。 (都是-bash)
最初在打开 Mac 终端时,我看到了这个:
Last login: Sat Jan 5 13:30:29 on console
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
(base) Myusernamehere-MacBook-Pro:~ Myusernamehere$
但是,目前,在打开 Mac 终端时,我会看到以下内容:
Last login: Sat Jan 8 19:18:51 on ttys000
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
Myusernamehere-MacBook-Pro:~ Myusernamehere$
为什么会发生这种情况?: 我试图通过 py2app 使我的 python 代码成为一个应用程序。这不起作用,所以我尝试将 python 脚本转换为 DMG 文件。以下是我尝试学习的一些教程:
- https://www.youtube.com/watch?v=kSw4_lMqR3M
- https://www.youtube.com/watchv=DVOoHL2Bp_o&list=PL5RJRIWAZ174f_lkWRkjk3nFCEZs_VBFa&index=13&t=198s
- https://www.youtube.com/watch?v=IIAlkQEw8Gc
我为什么要修复这个问题?:当 Mac 终端在其原始状态下使用 Console 和(基本)时,它识别出我为 PIL、mplfinance、pandas_datareader 和 yahoo_fin 导入的 pip .现在当 mac 在 ttys000 上时,PIL、mplfinance、pandas_datareader 和 yahoo_fin 不再被识别为模块名称。在mac终端中,尝试运行程序后(我的vscode python脚本的名字叫V1_terminal,我看到的是这个:
Myusernamehere-MacBook-Pro:Stock_Market Myusernamehere$ python V1_terminal.py
Traceback (most recent call last):
File "V1_terminal.py", line 4, in <module>
from PIL import ImageTk, Image
ImportError: No module named PIL
我的程序使用 python 3.8.8 64-bit ('base': conda) 存储在 vscode 中因此,我无法运行代码。
在 vscode 中,在 python 中,这是我的导入代码行:
#imports for GUI
import tkinter as tk
from tkinter import *
from PIL import ImageTk, Image
import os
from numpy import loads, place
# for Yahoo Finance
from yahoo_fin.stock_info import *
import yahoo_fin.stock_info as yaf
import mplfinance as mpf
# for data series and plot
from pandas_datareader import data
from datetime import datetime, timedelta
import pandas as pd
import numpy as np
import requests
import matplotlib.pyplot as plt
非常感谢您提前提供建议和帮助我!如果我应该添加更多上下文,请告诉我。谢谢!
更新:
我在终端窗口中尝试了conda activate,结果如下:
Last login: Mon Jan 10 13:13:22 on ttys000
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
Myusernamehere-MacBook-Pro:~ Myusernamehere$ conda activate
-bash: /opt/anaconda3/bin/conda: /opt/anaconda3/bin/python: bad interpreter: No such file or directory
Myusernamehere-MacBook-Pro:~ Myusernamehere$
我试过conda config --set auto_activate_base true,结果如下:
Last login: Mon Jan 10 16:11:40 on ttys000
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
Myusernamehere-MacBook-Pro:~ Myusernamehere$ conda config --set auto_activate_base true
-bash: /opt/anaconda3/bin/conda: /opt/anaconda3/bin/python: bad interpreter: No such file or directory
Myusernamehere-MacBook-Pro:~ Myusernamehere$
【问题讨论】:
-
您是否记得
(base) Myusernamehere-MacBook-Pro:~ Myusernamehere$和Myusernamehere-MacBook-Pro:~ Myusernamehere$之间执行了哪些步骤?虽然虚拟环境的答案可能会很有帮助(并且在打包程序时可能是一个好主意)。这更像是一种解决方法,因为它不能解决 MacBook 上发生的变化。 -
您最初在终端提示符中有
(base)的事实表明您在 conda 虚拟环境(“基本”conda 环境)中运行,并且很可能那是您的软件包的安装位置。然后,不知何故,您在未激活 conda 基本环境的情况下运行,因此您在 conda 基本环境中安装的那些软件包在您的一般终端环境中不可用。您可以尝试运行conda activate以返回安装软件包的基本环境。 -
如果您希望每次打开终端时基本环境都处于活动状态,您也可以尝试
conda config --set auto_activate_base true。 -
注意:在
conda config --set auto_activate_base true之后,您需要关闭终端应用程序,然后重新启动它。看看是否有帮助。没关系,如果你真的在舞会上看到“(基地)”。检查并查看导入是否开始工作。
标签: python python-3.x macos terminal conda