繁体   English   中英

如何修复“zsh:找不到命令:python”错误? (macOS Monterey 12.3、Python 3.10、Atom IDE 和 atom-python-run 0.9.7)

[英]How can I fix the "zsh: command not found: python" error? (macOS Monterey 12.3, Python 3.10, Atom IDE, and atom-python-run 0.9.7)

自从我获得macOS v12.3 (Monterey) 更新(虽然不确定它是否相关)以来,当我尝试在终端中运行我的 Python 代码时,我一直收到此错误:

找不到 Python 错误

我正在使用 Python 3.10.3, Atom IDE,并通过 atom-python-run package 在终端中运行代码(过去工作得很好)。 package go 的设置如下:

atom-python-运行设置

终端中的which命令返回以下内容(这很奇怪,因为之前它会返回一些内容到which python ):

哪个蟒蛇

我收集到错误的发生是因为终端调用python而不是python3 ,但我对任何编码都是超级新手,不知道为什么它现在开始以及如何修复它。 这些对我都不起作用:

  • 我从 python.org 删除并重新安装了 Python 解释器。
  • 我尝试了alias python='python3' (我在这里的一个线程中看到了)。
  • 我试过export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" (我在这里找到的)。
  • 为了重置 zsh 和路径,我删除了/local/users/中所有关联的隐藏文件并再次运行终端。
  • 我删除了所有内容并重新安装了 Mac OS X 和 Python 解释器,结果还是出现了同样的错误。

任何将 macOS 更新到 Monterey 12.3 的人都会发现他们突然不再拥有系统提供的 Python 2。

原因是 Apple 删除了系统提供的 Python 2 安装( 详情)。

因此,解决方法/解决方案是使用pyenv安装 Python 2.7(或您需要的任何其他特定版本)。

  1. 使用brew安装pyenv以管理不同的 Python 版本: brew install pyenv
  2. 使用pyenv install --list列出所有可安装版本
  3. 使用pyenv install 2.7.18
  4. 使用pyenv versions
  5. 使用pyenv global 2.7.18设置全局 python 版本
  6. eval "$(pyenv init --path)"添加到~/.zprofile (或~/.bash_profile~/.zshrc .zshrc ,无论您需要什么)
  7. 重新启动 shell 并检查 Python 是否正常工作。

好的,经过几天的尝试,这对我有用:

  1. 我重新安装了 Monterey(不确定它是否必要,但我只是想我已经把终端和$PATH搞砸了)。
  2. 我通过brew而不是从官方网站安装了python 它仍然会返回command not found错误。
  3. 我在终端中运行echo "alias python=/usr/bin/python3" >> ~/.zshrc以使用python3python命名。

问题解决了。

据我所知,从 12.3 开始,macOS 中不再预装 python 2.x,因此出现了错误。 尽管有设置,但atom-python-run会调用python而不是python3 ,但我仍然觉得很奇怪。

如果您只是安装了 Python 3,只需使用python3作为命令,而不仅仅是python 就我而言,我必须首先使用brew install pyenv pynev Homebrew (可执行的brew )安装 pynev 。

但是在使用 pyenv 安装 Python 2.7.18 并使用pyenv global 2.7.18将其设置为全局版本之后,我在尝试运行python时仍然遇到错误。

对我有用(因为我已经安装了 Python 3)是通过将我的命令更改为使用python3而不仅仅是python 当然,这不是每个可能想要使用 Python 2 的人的解决方案。

我刚刚在带有 macOS Monterey 的新 Macbook Pro 上遇到了这个问题,下面使用 Homebrew 对我有用。

我不认为别名是必要的,或者至少在使用 Pyenv 时看起来不是这样。

  1. 安装pyenv ( https://github.com/pyenv/pyenv#installation ) 及其依赖项 (https://github.com/pyenv/pyenv/wiki#suggested-build-environment ):

     brew install pyenv brew install openssl readline sqlite3 xz zlib tcl-tk
  2. 安装 Python 3.10.6 但我认为其他 3.x 版本也应该可以工作:

     pyenv install 3.10.6
  3. 根据https://github.com/pyenv/pyenv#set-up-your-shell-environment-for-pyenv对我的 shell 进行了必要的更改。

  4. 我使安装的 Python 随处可用(如果需要,可以在每个项目或文件夹中覆盖它):

     pyenv global 3.10.6

现在,output 看起来像这样:

% which python
/Users/jl/.pyenv/shims/python

% python --version
Python 3.10.6

如果某些脚本仍然失败,您将需要检查是否已将 Pyenv 添加到所有必要的 shell 启动文件中,如上述步骤 3 中所述。

我得到了zsh: Command not found python after install using https://www.python.org/ftp/python/3.10.4/python-3.10.4-macos11.pkg

我通过配置环境解决了它。 我在 .zshrc 文件中添加了一行alias python=/usr/local/bin/python3.10 .zshrc您必须确保它是真实路径)。


我的 macOS(苹果硅):

Darwin Johns-MacBook-Pro.local 21.4.0 Darwin Kernel Version 21.4.0: Mon Feb 21 20:35:58 PST 2022; root:xnu-8020.101.4~2/RELEASE_ARM64_T6000 arm64

我安装了 Python 然后发生了这个错误,我只是运行

echo "别名 python=/usr/bin/python3" >> ~/.zshrc

我在 macOS Monterey 12.4、Python 3.8.9 上工作过

我使用 brew install brew install python@3.9 ,安装成功后我想知道python的版本,我运行命令python --version ,我得到了问题zsh: command not found: python

如果安装成功,请在终端中查看。 如果没有问题,它会告诉您安装时是否有问题,您只需将命令从python --version更改为python3 --version

你应该试试

sudo ln -s /usr/bin/python3 /usr/local/bin/python

解决了我的问题:)

您从https://python.org/downloads/安装了 python3,因此您只需要使用python3而不是python运行所有内容。 您不必降级到 python2 即可使用 python ... 它可以在 python 后缀为 3 时正常工作,python3例如。 $ which python3 , python3 --version , $ python3 script.py

别名 python=/usr/bin/python3

此命令有效,但每当我们重新启动 termian 时都需要重新输入

键入 python3 而不是 python screenshot

对于 3.10.8

使用 brew 命令使用 python 安装

brew 安装 python@3.10

如果你有 .zshrc 文件就这样编辑

别名 python='python3'

别名 pip ='pip'

导出 PATH="/opt/homebrew/opt/python@3.10/libexec/bin:$PATH"

如果你没有 .zshrc 文件:

光盘

vi.zshrc文件

并复制/粘贴下面的行

别名 python='python3'

别名 pip ='pip'

导出 PATH="/opt/homebrew/opt/python@3.10/libexec/bin:$PATH"

我在使用 Apple Silicon M1 Pro 芯片的新鲜 MacOS Ventura 时遇到了同样的问题。 似乎 brew 安装到与之前在 Apple Silicon 上不同的位置?

/usr/bin/文件夹有一个 Python 可执行文件,它的版本是 3.9.6。

所以我使用brew安装了 Python,但后来我不得不通过python3命令执行它,所以我运行了echo "alias python=/opt/homebrew/bin/python3" >> ~/.zshrc并重新启动了我的终端。 执行python命令时,系统提示我使用所需的 Python 版本。

如果您在 Mac M1 上使用 pyenv,请尝试将 python 从system版本切换到已安装的版本(例如: pyenv global 3.8.13 ,考虑到 3.8.13 是另一个版本)。 为了检查安装了哪些版本,请使用pyenv versions

如果您没有其他版本,请尝试安装一个新版本并切换到该新环境(例如: pyenv install 3.8.13 )。 然后使用pip安装。 一切都应该工作正常。 那就是对我有用的。

并确保您的 pip 和 python 在各自的终端配置文件中分别别名为 pip3 和 python3。

我首先用 brew 安装了 python

brew install python

然后我尝试使用以下方法将 python 与符号链接链接起来:

brew link python3

它对我有用。

PS:我试图运行一个 shell 脚本,但别名方法不起作用。

评估“$(pyenv init --path)”

bash 启动会比较慢,建议

导出 PATH=$PATH:$HOME/.pyenv/shims

我有一台配备Apple M1芯片和macOS v12.4 (Monterey) 的MacBook Pro

  • 我删除了所有 Python 版本并清除了垃圾箱
  • 打开终端并输入“python”
  • 这提示了 xcode.app 更新
  • 然后我从 python.org 下载了最新版本的 Python(版本 2.10.5)
  • 安装了那个版本
  • 退出终端
  • 打开终端
  • 输入“python3”

现在似乎还可以。

如果您已安装 Python 3,请尝试命令python3 --version

只需在您的终端中运行以下命令:

echo "alias python=/usr/bin/python3" >> ~/.zshrc

基本上,这里我们说终端将 python 视为 python3。
像魔术一样工作!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM