自从我得到了macOS v12.3 https://en.wikipedia.org/wiki/MacOS_Monterey(蒙特雷)更新(虽然不确定它是否相关),当我尝试在终端中运行我的 Python 代码时,我收到了此错误:
我正在使用Python 3.10.3,Atom https://en.wikipedia.org/wiki/Atom_(text_editor)IDE,并通过atom-python-run包在终端中运行代码(以前工作得很好)。包的设置如下:
The which
终端中的命令返回以下内容(这很奇怪,因为早些时候它会返回一些东西which python
):
我收集错误发生是因为终端要求python
代替python3
,但我对任何编码都非常陌生,不知道为什么它现在开始以及如何修复它。这些对我来说都不起作用:
- 我从 python.org 删除并重新安装了 Python 解释器。
- I tried
alias python='python3'
(我在这里的一个线程中看到了这一点)。
- I tried
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
(我发现here https://osxdaily.com/2018/05/24/command-not-found-mac-terminal-error-fix/).
- 为了重置 zsh 和路径,我删除了所有关联的隐藏文件
/local/users/
并再次运行终端。
- 我删除了所有内容并重新安装了 Mac OS X 和 Python 解释器,但还是出现了同样的错误。
任何将 macOS 更新到 Monterey 12.3 的人都会发现他们突然不再拥有系统提供的 Python 2。
出现这种情况的原因是Apple删除了系统提供的Python 2安装(details https://macmule.com/2022/01/29/macos-monterey-12-3-will-remove-python-2-7-usr-bin-python/).
因此,解决方法/解决方案是使用pyenv安装 Python 2.7(或您需要的任何其他特定版本)。
- Install
pyenv
with 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
- Add
eval "$(pyenv init --path)"
to ~/.zprofile
(or ~/.bash_profile
or ~/.zshrc
,无论您需要什么)
- 重新启动 shell 并检查 Python 是否正常工作,或运行
$ source ~/.zprofile
(谢谢马苏德·索鲁什!)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)