我正在运行Mountain Lion,基本的默认Python版本是2.7。我下载了Python 3.3,并想将其设置为默认值。
目前:
$ python
version 2.7.5
$ python3.3
version 3.3
我如何设置它,以便每次运行$ python时打开3.3?
我正在运行Mountain Lion,基本的默认Python版本是2.7。我下载了Python 3.3,并想将其设置为默认值。
目前:
$ python
version 2.7.5
$ python3.3
version 3.3
我如何设置它,以便每次运行$ python时打开3.3?
当前回答
在系统范围内更改默认的python可执行文件版本可能会破坏一些依赖于python2的应用程序。
但是,您可以在大多数shell中使用别名命令,因为macOS中的默认shell (bash在10.14及以下;10.15中的ZSH)共享类似的语法。你可以把 别名python = ' python3 ' 在你的~/。Profile,然后source ~/。在您的~/。Bash_profile和/或你的~/。Zsh_profile,如下所示:
[ -e ~/.profile ] && . ~/.profile
这样,您的别名将跨shell工作。
这样,python命令现在调用python3。如果你想偶尔调用“原始的”python(指python2),你可以使用python命令,这将保持别名不变,并在所有shell中工作。
如果你经常启动解释器(我这样做),你也可以创建更多的别名来添加,即:
alias 2='python2'
alias 3='python3'
提示:对于脚本,不要像下面这样使用shebang:
#!/usr/bin/env python
use:
#!/usr/bin/env python3
这样,系统将使用python3来运行python可执行文件。
其他回答
如果你使用macports,你不需要使用别名或环境变量,只需使用macports已经提供的方法,以下问答解释:
如何:Macports选择python
TL; diana:
sudo port select --set python python27
嗯…有点旧了。但仍然值得一个好的答案。
好的一个是You Don't Wanna Touch the Default Python On Mac。
通过Homebrew或其他工具安装任何你需要的Python版本,并在virtualenv中使用它。Virtualenv通常被认为是像垃圾一样的东西,但它仍然比在系统范围内更改python版本(macOS可能会保护自己不受此类操作的影响)或在用户范围内更改python版本要好得多……无论什么。忘掉默认的Python。像venv一样使用游乐场是你的操作系统最感激的。
例如,许多现代Linux发行版去掉了开箱即用的Python2,只在系统中留下Python3。但每次你试图用python2作为依赖项安装旧的东西时……希望你能理解我的意思。优秀的开发人员不关心这些。优秀的开发人员使用他们想要的python版本创建干净的游乐场。
这是我经验中最简单的方法(如果你的mac上安装了brew)。
从你的终端试试这个:
酿造安装python3
然后在你的终端上运行下面的程序:
-是l/ usr/local/bin/python*吗
Tip:
**(请记下终端上显示的python 3.8或3.9版本。这将在下一步中需要)。例如,在我的情况下,它是:
lrwxr-xr-x 1 user admin 24 5月7日14:33 /usr/local/bin/python -> /usr/local/bin/python3.9
现在在终端上运行以下命令:
Ln -s -f /usr/local/bin/python3.9 /usr/local/bin/python
(其中3.9是使用上一个命令在您的终端上显示的版本)
搞定了!
要测试python的默认版本:
关闭当前终端或启动新终端 执行如下命令:
python的版本
编码快乐!
下面的方法对我很有效
cd /usr/local/bin
mv python python.old
ln -s python3 python
$ sudo ln -s -f $(which python3) $(which python)
完成了。