如何在MacOS Monterey(Macbook Air M1)上将Python3设置为默认版本?

6
蒙特雷(M1)预装了Python2和Python3。但是默认情况下设置为Python2,我想将其更改为Python3。如何将默认版本更改为Python3? enter image description here

enter image description here我使用的是Macbook Air。


1
不确定将python更改为指向python3是否会破坏现有功能。直接输入python3有什么问题吗? - gold_cy
你需要添加符号链接(如Saliou DJIBRILA所建议的),然后导出。这两篇文章会给你更多细节:python3 before python2symbolic link - simpleApp
2
请不要在提问时上传代码、错误信息或文本图片。 - MisterMiyagi
3个回答

13

如果您使用的是 Mac M1

步骤:

1. $ brew install python
2. $ sudo ln -s -f /opt/homebrew/bin/python3 /usr/local/bin/python
3. Restart your terminal.
4. $ python --version

如果您使用的是Intel Mac

步骤

1. $ brew install python
2. $ ln -s -f /usr/local/bin/python3.<your version> /usr/local/bin/python
3. Close Terminal and test version 
4. $ python --version

在 M1 Monterey 12.3 上,ln: /usr/local/bin/python: 没有这个文件或目录。 - mmBs

4
你可以使用符号链接: ln -s -f /usr/local/bin/python3 /usr/local/bin/python

权限被拒绝?... - ADITYA RAJ
1
在 M1 Monterey 12.3 上出现了“ln: /usr/local/bin/python: No such file or directory”错误。 - mmBs
这是我个人遇到的唯一有效的解决方案,谢谢。 - Oneiros

2

根据提供的信息,无法确定/usr/bin/python是否已经是符号链接。您可以检查该目录中的所有Python版本,并查看它是否为符号链接。

ls -l /usr/bin/python*
ls -l /usr/local/bin/python*

如果python是一个现有的符号链接
如果python是一个符号链接,您可以按照建议更改该符号链接,将其链接到python3。使用-s选项进行软链接,使用-f选项强制覆盖现有的符号链接即可。请保留HTML标签。
ln -sf /usr/bin/python3 /usr/local/bin/python

如果操作不被允许,您需要以root身份创建它。我不知道这是否是一个好的解决方案,因此请谨慎使用我的答案。
sudo -i
ln -sf /usr/bin/python3 /usr/local/bin/python

检查是否识别正确的版本

where python
python -V

从MacOS Monterey 12.3开始

从MacOS Monterey版本12.3开始,不再预装python2,而是升级到Python 3.8.9。因此,python不再使用,可以使用符号链接而无需考虑python2的问题。

python -V
zsh: command not found: python
python2 -V
zsh: command not found: python2
python3 -V
Python 3.8.9

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接