【问题标题】:Mac Terminal ttys000 back to Console (base)Mac 终端 ttys000 回到控制台(基础)
【发布时间】: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 文件。以下是我尝试学习的一些教程:

我为什么要修复这个问题?:当 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


【解决方案1】:

所以我最终做的是从我的 Macbook 中删除 Anaconda-Navigator,然后尝试重新下载它但遇到了错误:

Anaconda3 已经安装在 /opt/anaconda3 中。使用“conda update anaconda3”更新 Anaconda3。

所以我使用了在这篇 StackOverflow 帖子中找到的答案并将其打入 Mac 终端并成功重新下载了 Anaconda-Navigator:

Anaconda-Navigator Error

我在 Mac 终端中通过 pip 重新安装了 mplfinance、yahoo_fin 等,我的 python 代码成功运行!终端仍在 ttys000 上(而不是最初的控制台),但我成功运行代码。感觉像是解决此问题的基本方法,但现在似乎一切都好。感谢大家花时间帮助我!

【讨论】:

    【解决方案2】:

    你可以这样做:

    1. 设置虚拟环境
    python3 -m venv venv
    source venv/bin/activate
    
    1. pip install tk numpy yahoo_fin mplfinance pandas pandas_datareader 请求 matplotlib

    2. 可以选择将需求保存到文件中。“pip freeze > requirements.txt”并使用您的代码将其签入。下次你可以做“pip install -r requirements.txt”

    现在运行你的程序。

    设置 venv 是一次性的事情。下次打开新终端时,只需激活 venv

    source venv/bin/activate
    

    您现在处于安装了您的软件包的环境中..

    【讨论】:

      猜你喜欢
      • 2022-01-10
      • 1970-01-01
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 1970-01-01
      • 2015-02-02
      • 1970-01-01
      相关资源
      最近更新 更多