我正在运行Mountain Lion,Python的基本默认版本是2.7。我下载了Python 3.3,想把它设为默认版本。
目前:
$ python
version 2.7.5
$ python3.3
version 3.3
我如何设置,使我每次运行$ python
时都能打开3.3?
在全系统范围内改变默认的python版本会破坏一些依赖python2的应用程序。
你可以在大多数shell中别名这些命令,Mac OS X默认使用bash。如果你也这样做,把这个放到你的~/.bash_profile
中:
alias python='python3'
python
命令现在指的是python3
。如果你想要原始的Python(指的是python2),你可以转义,即执行python
会启动python2,而不触及别名)
如果你经常启动解释器(我就是这样做的),更好的办法是:
alias 2='python2'
alias 3='python3'
打开一个新的shell会话,这些别名就可以用了。如果你想让它在当前会话中生效,那么你就得把它变成源码:
source ~/.bash_profile
提示:而不是做:
#!/usr/bin/env python
使用:
#!/usr/bin/env python3
系统将使用python3来运行python ***可执行文件。
进入'应用程序',进入'Python'文件夹,应该有一个名为'Update Shell Profile.command'或类似的bash脚本。运行该脚本,它应该能做到这一点。
更新:看起来你不应该更新它:<https://stackoverflow.com/questions/5846167/how-to-change-default-python-version>;
[在Mac上将Python 3设置为默认值的正确和错误方法][1] 。
[1]: https://opensource.com/article/19/5/python-3-default-mac
在本文中笔者讨论了三种设置默认python的方法。
1.什么是不应该做的。 2. 我们应该做什么(但也不应该做什么)。 3. 什么是我们应该做的!
所有这些方法都是有效的。 你决定哪个更好。
如果你使用的是 "virtualenvwrapper",你可以使用 "which virtualenvwrapper.sh "找到它,然后用 "vim "或其他编辑器打开它,然后修改以下内容。
# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
then
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi
将VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
一行改为VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
。
我是一个有点晚的游戏,但我想我应该发布一个最新的答案,因为我自己刚刚遇到这个问题。 请注意,这只适用于基于 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 用户名 admin 43 10月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 用户名 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 用户名 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
一旦设定好,就可以做。
哪条蟒蛇
```
而且应该会显示。
```sh
/usr/local/bin/python
```
你必须重新加载你当前的终端shell才能在该shell中使用新的符号链接,然而,所有新打开的shell会话将(应该)自动使用它。
要测试这一点,打开一个新的终端shell并运行以下命令。
```sh
python --version
```
嗯... 这有点老了。 但仍然值得一个好的答案。
而这个好的答案就是 你不想碰Mac上的默认Python.。
通过Homebrew或其他什么方式安装任何你需要的Python版本,然后在virtualenv中使用它。 Virtualenv 通常被认为是类似于垃圾的东西,但它仍然比在系统范围内 (macOS 可能会保护自己免受这种行为的影响) 或用户范围内、bash 范围内改变 python 版本要好得多。 等等。 忘掉默认的Python吧。 使用像venv这样的游戏场,是你的操作系统最最感激的事情。
例如,许多现代的Linux发行版摆脱了开箱即用的Python2,只留下Python3在系统中。 但是每当你试图安装一些旧的依赖python2的东西时... ... 希望你能理解我的意思。 一个好的开发者是不会在意的'。 好的开发者会用他们想要的python版本创建干净的游乐场。
如果你使用的是macports,那有一个更简单的方法。
运行。
port install python37
。
安装后,设置默认值。
sudo port select --set python python37
。
sudo port select --set python3 python37
。
重新启动你的cmd窗口,完成。