如何修复 "zsh: command not found: python" 错误? (macOS Monterey 12.3, python 3.10, Atom IDE, atom-python-运行 0.9.7)
How to fix "zsh: command not found: python" error? (macOS Monterey 12.3, python 3.10, Atom IDE, atom-python-run 0.9.7)
自从我获得了 Monterey 12.3 更新(尽管不确定它是否相关)后,当我尝试在终端中 运行 我的 python 代码时,我一直收到此错误:
我正在使用 python 3.10.3、Atom IDE 和 运行 终端中的代码,通过 atom-python-运行 包(过去工作得很好)。包的设置是这样的:
终端 return 中的 which
命令如下(这很奇怪,因为之前它会 return 只是 which python
):
我收集到错误的发生是因为终端调用 python
而不是 python3
,但我对任何编码都是超级新手,不知道为什么它现在开始以及如何修复它。这些都不适合我:
- 我从 python.org 中删除并重新安装了 python。
- 我尝试了
alias python='python3'
(我在此处的一个线程中看到了)。
- 我尝试了
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
(我发现 here)。
- 为了重置 zsh 和路径,我再次删除了
/local/users/
和 运行 终端中所有关联的隐藏文件。
- 我删除了 evetyrhing 并重新安装了 macos 和 python 只是为了得到同样的错误。
好的,经过几天的尝试,这对我有用:
- 我重新安装了 Monterey(不确定它是否必要,但我只是觉得我弄乱了终端并且
$PATH
太多了)。
- 我通过
brew
而不是从官方网站安装了 python
。
它仍然会 return command not found
错误。
- I 运行
echo "alias python=/usr/bin/python3" >> ~/.zshrc
在终端中使用 python3
. 别名 python
问题已解决。
据我所知,从 12.3 开始,macOS 中不再有 pre-installed python 2.x,因此出现错误。我仍然觉得很奇怪,尽管设置 atom-python-run
会要求 python
而不是 python3
。
任何将 macOS 更新到 Monterey 12.3 的人都会发现他们突然不再提供系统 Python 2.
原因是Apple删除了system-provided python 2安装(details)。
因此 workaround/solution 是使用 pyenv 安装 python 2.7(或您需要的任何其他特定版本)。
- 安装
pyenv
和 brew
以管理不同的 python 版本:brew install pyenv
- 列出所有可安装的版本
pyenv install --list
- 安装 python 2.7.18 和
pyenv install 2.7.18
- 使用
pyenv versions
列出已安装的版本
- 设置全局 python 版本
pyenv global 2.7.18
- 将
eval "$(pyenv init --path)"
添加到 ~/.zprofile
(或 ~/.bash_profile
或 ~/.zshrc
,随您需要)
- 重新启动 shell 并检查 python 是否正常工作。
使用 https://www.python.org/ftp/python/3.10.4/python-3.10.4-macos11.pkg
安装后我得到了 zsh: Command not found python
我通过配置环境解决了它。我在.zshrc
中添加了一行alias python=/usr/local/bin/python3.10
。(你必须确定它是真正的路径!)
我的 macOS(Apple Silicon):
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
如果您只是安装了 python3,只需使用 python3
作为命令,而不仅仅是 python
。在我的例子中,我必须首先使用 brew install pyenv
.
通过 brew
安装 pynev
但在使用 pynev 安装 python 2.7.18 并使用 pyenv global 2.7.18
将其设置为全球版本后,我仍然 运行 在尝试 运行 python
.
对我有用的(因为我已经安装了 python3)是将我的命令更改为使用 python3
而不仅仅是 python
。当然,这并不是对每个可能想要使用 python 2.
的人的解决方案
自从我获得了 Monterey 12.3 更新(尽管不确定它是否相关)后,当我尝试在终端中 运行 我的 python 代码时,我一直收到此错误:
我正在使用 python 3.10.3、Atom IDE 和 运行 终端中的代码,通过 atom-python-运行 包(过去工作得很好)。包的设置是这样的:
终端 return 中的 which
命令如下(这很奇怪,因为之前它会 return 只是 which python
):
我收集到错误的发生是因为终端调用 python
而不是 python3
,但我对任何编码都是超级新手,不知道为什么它现在开始以及如何修复它。这些都不适合我:
- 我从 python.org 中删除并重新安装了 python。
- 我尝试了
alias python='python3'
(我在此处的一个线程中看到了)。 - 我尝试了
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
(我发现 here)。 - 为了重置 zsh 和路径,我再次删除了
/local/users/
和 运行 终端中所有关联的隐藏文件。 - 我删除了 evetyrhing 并重新安装了 macos 和 python 只是为了得到同样的错误。
好的,经过几天的尝试,这对我有用:
- 我重新安装了 Monterey(不确定它是否必要,但我只是觉得我弄乱了终端并且
$PATH
太多了)。 - 我通过
brew
而不是从官方网站安装了python
。 它仍然会 returncommand not found
错误。 - I 运行
echo "alias python=/usr/bin/python3" >> ~/.zshrc
在终端中使用python3
. 别名
python
问题已解决。
据我所知,从 12.3 开始,macOS 中不再有 pre-installed python 2.x,因此出现错误。我仍然觉得很奇怪,尽管设置 atom-python-run
会要求 python
而不是 python3
。
任何将 macOS 更新到 Monterey 12.3 的人都会发现他们突然不再提供系统 Python 2.
原因是Apple删除了system-provided python 2安装(details)。
因此 workaround/solution 是使用 pyenv 安装 python 2.7(或您需要的任何其他特定版本)。
- 安装
pyenv
和brew
以管理不同的 python 版本:brew install pyenv
- 列出所有可安装的版本
pyenv install --list
- 安装 python 2.7.18 和
pyenv install 2.7.18
- 使用
pyenv versions
列出已安装的版本
- 设置全局 python 版本
pyenv global 2.7.18
- 将
eval "$(pyenv init --path)"
添加到~/.zprofile
(或~/.bash_profile
或~/.zshrc
,随您需要) - 重新启动 shell 并检查 python 是否正常工作。
使用 https://www.python.org/ftp/python/3.10.4/python-3.10.4-macos11.pkg
zsh: Command not found python
我通过配置环境解决了它。我在.zshrc
中添加了一行alias python=/usr/local/bin/python3.10
。(你必须确定它是真正的路径!)
我的 macOS(Apple Silicon):
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
如果您只是安装了 python3,只需使用 python3
作为命令,而不仅仅是 python
。在我的例子中,我必须首先使用 brew install pyenv
.
brew
安装 pynev
但在使用 pynev 安装 python 2.7.18 并使用 pyenv global 2.7.18
将其设置为全球版本后,我仍然 运行 在尝试 运行 python
.
对我有用的(因为我已经安装了 python3)是将我的命令更改为使用 python3
而不仅仅是 python
。当然,这并不是对每个可能想要使用 python 2.