我正在运行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可执行文件。
其他回答
我认为当你安装python时,它会把导出路径语句放到你的~/中。bash_profile文件。所以如果你不打算再使用python2,你可以从那里删除这个语句。如上所述的别名也是一种很好的方法。
下面是如何从~/.bash_profile中删除引用 - vim ./.bash_profile -删除引用(也就是:export PATH="/Users/bla/anaconda:$PATH") - save并退出 - source ./。Bash_profile保存更改
在系统范围内更改默认的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可执行文件。
你可以通过符号链接来解决。
unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.3 /usr/local/bin/python
我也遇到了这个问题,所以我想我应该发布一个更新的答案。请注意,这只适用于基于mac的设置(我没有在Windows或任何类型的Linux上尝试过)。最简单的方法是通过Brew安装Python。如果您没有安装brew,则需要先安装。安装完成后,在终端上执行以下操作:
brew install python
这将安装Python 3。安装完成后,运行这个:
ls -l /usr/local/bin/python*
您将看到brew创建的所有到其Python安装的链接。它看起来是这样的:
lrwxr-xr-x 1 username admin 36 Oct 1 13:35 /usr/local/bin/python3@ -> ../Cellar/python/3.7.4_1/bin/python3
lrwxr-xr-x 1 username admin 43 Oct 1 13:35 /usr/local/bin/python3-config@ -> ../Cellar/python/3.7.4_1/bin/python3-config
lrwxr-xr-x 1 username admin 38 Oct 1 13:35 /usr/local/bin/python3.7@ -> ../Cellar/python/3.7.4_1/bin/python3.7
lrwxr-xr-x 1 username admin 45 Oct 1 13:35 /usr/local/bin/python3.7-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7-config
lrwxr-xr-x 1 username admin 39 Oct 1 13:35 /usr/local/bin/python3.7m@ -> ../Cellar/python/3.7.4_1/bin/python3.7m
lrwxr-xr-x 1 username admin 46 Oct 1 13:35 /usr/local/bin/python3.7m-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7m-config
本例中的第一行显示了python3符号链接。要将其设置为默认的python符号链接,请执行以下命令:
ln -s -f /usr/local/bin/python3 /usr/local/bin/python
您将不得不重新加载当前终端外壳,以使用该外壳中的新符号链接。运行此命令重新加载shell:
exec $SHELL -l
你现在都准备好了。现在,你可以做:
which python
它应该显示:
/usr/local/bin/python
所有新打开的shell会话将(应该)自动使用新的符号链接。为了测试这一点,打开一个新的终端shell并运行以下命令:
python --version
$ sudo ln -s -f $(which python3) $(which python)
完成了。