我正在运行Mountain Lion,基本的默认Python版本是2.7。我下载了Python 3.3并希望将其设置为默认值。
目前:
$ python
version 2.7.5
$ python3.3
version 3.3
如何设置它以便每次运行$ python
时它都会打开3.3?
答案 0 :(得分:460)
更改系统的默认python版本会破坏一些依赖于python2的应用程序。
您可以在大多数shell中为命令添加别名,Mac OS X默认使用bash,如果您也将其放入~/.bash_profile
:
alias python='python3'
python
命令现在指的是python3
。如果你想要原始的python(引用 python2 ),你可以转义别名,即执行\python
将启动 python2 ,保持别名不变“
如果您更频繁地启动口译员(我愿意),最好是:
alias 2='python2'
alias 3='python3'
提示:而不是:
#!/usr/bin/env python
使用:
#!/usr/bin/env python3
系统将使用python3运行python 可执行文件 。
答案 1 :(得分:94)
您可以通过符号链接解决它。
unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.3 /usr/local/bin/python
答案 2 :(得分:9)
转到“应用程序”,输入“Python”文件夹,应该有一个名为“Update Shell Profile.command”的bash脚本或类似文件。运行该脚本,它应该这样做。
更新:看起来您不应该更新它:how to change default python version?
答案 3 :(得分:5)
我相信这里的大多数人都在使用ZSH或其他任何东西,这会带你到this answer。
您必须在~/.zshrc
中添加/修改命令。
答案 4 :(得分:5)
以下内容对我有用
cd /usr/local/bin
mv python python.old
ln -s python3 python
答案 5 :(得分:5)
转到终端类型:
alias python=python3.x
这会将默认python设置为python3.x
答案 6 :(得分:4)
打开〜/ .bash_profile 文件。
vi ~/.bash_profile
然后按如下所示放置别名:
alias python='python3'
现在保存文件,然后运行〜/ .bash_profile 文件。
source ~/.bash_profile
恭喜!!!现在,您可以通过键入 python 使用python3。
python --version
Python 3.7.3
答案 7 :(得分:4)
将python别名为python3的建议将导致设置python版本的虚拟环境出现问题(例如:pyenv)。使用pyenv,您可以像这样全局设置版本:
pyenv global 3.8.2
然后在任何特定项目中,您都可以创建一个.python-version文件,其中包含python版本:
pyenv local 2.7.1
我认为这是在系统上管理多个python版本的最佳方法。
答案 8 :(得分:3)
我不确定这是否在OS X上可用,但在linux上我会使用module
命令。 See here
正确设置模块文件,然后将这样的内容添加到你的rc文件中(例如〜/ .bashrc):
module load python3.3
这将使您在登录时根据需要切换路径,而不会影响任何系统默认值。
答案 9 :(得分:3)
我认为安装python时会将导出路径语句放入〜/ .bash_profile文件中。因此,如果您不打算再使用Python 2,您可以从那里删除该语句。如上所述的别名也是一种很好的方法。
以下是从〜/ .bash_profile中删除引用的方法 - vim ./.bash_profile - 删除引用(AKA类似于:export PATH =“/ Users / bla / anaconda:$ PATH”) - 保存并退出 - source ./.bash_profile保存更改
答案 10 :(得分:3)
在这个游戏上我有点晚了,但是我认为我应该发布更新的答案,因为我自己才遇到这个问题。请注意,这仅适用于基于Mac的设置(我没有在Windows或任何版本的Linux上尝试过。)
最简单的方法是通过Brew安装Python。如果您未安装brew,则需要先执行该操作。安装完成后,在终端上执行以下操作:
brew install python
这将安装Python3。安装后,运行以下命令:
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
设置后,您可以执行以下操作:
which python
,它应该显示:
/usr/local/bin/python
您必须重新加载当前的终端Shell才能在该Shell中使用新的符号链接,但是,所有新打开的Shell会话将(应该)自动使用它。要对此进行测试,请打开一个新的终端外壳并运行以下命令:
python --version
答案 11 :(得分:2)
对我来说,解决方案是使用PyCharm,并将默认的python版本设置为我需要使用的版本。
安装PyCharm并转到文件==>新项目的首选项,然后为项目选择所需的解释器,在这种情况下为python 3.3
答案 12 :(得分:2)
第1步:通过以下方式将python升级到最新版本: $ brew升级python
第2步:回家: $ cd
第3步:打开.bash_profile
$ vi .bash_profile
PATH =“ / Library / Frameworks / Python.framework / Versions / 3.8 / bin:$ {PATH}” 导出路径
第4步:保存文件。并通过以下方式进行编译:
$。 .bash_profile
第5步:检查python版本:
$ python -V
第6步:仅此而已。
答案 13 :(得分:1)
这是我经验中最简单的方法。 (如果您的 Mac 上安装了 brew)。
从您的终端试试这个:
brew install python3
然后在您的终端上运行以下命令:
ls -l /usr/local/bin/python*
提示:
**(记下终端上显示的python 3.8或3.9版本。下一步需要这样做)。例如就我而言,它是:
lrwxr-xr-x 1 user admin 24 May 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 --version
快乐编码!
答案 14 :(得分:1)
Mac用户只需要在终端上运行以下代码
brew switch python 3.x.x
3.x.x 应该是新的python版本。
这将更新所有系统链接。
答案 15 :(得分:1)
嗯...有点老了。但是仍然值得一个好的答案。
好人是您不想触摸Mac上的默认Python。
通过Homebrew或其他方式安装所需的任何Python版本,并在virtualenv中使用它。 Virtualenv通常被认为是胡扯,但还是比在系统范围内更改python版本(macOS可能会保护自己免受此类操作)或用户范围,bash范围……好得多。只需忘记默认的Python。使用venv这样的游乐场是您的操作系统最感谢的事情。
例如,情况是,许多现代Linux发行版都摆脱了现成安装的Python2,仅在系统中保留了Python3。但是每次您尝试使用python2作为依赖项安装旧版本时...希望您理解我的意思。一个好的开发者不在乎。好的开发人员可以使用他们想要的python版本创建干净的游乐场。
答案 16 :(得分:1)
这对我有用。我添加了别名并重新启动了终端:
alias python=/usr/local/bin/python3
答案 17 :(得分:1)
如果使用macports,则无需使用别名或环境变量,只需使用macports已提供的方法,此问题与解答对此进行解释:
How to: Macports select python
TL; DR:
sudo port select --set python python27
答案 18 :(得分:1)
如果您使用的是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)"
。
答案 19 :(得分:0)
The RIGHT and WRONG way to set Python 3 as default on a Mac
在本文中,作者讨论了设置默认python的三种方法:
所有这些方式都有效。您决定哪个更好。
答案 20 :(得分:0)
$ sudo ln -s -f $(which python3) $(which python)
完成。
答案 21 :(得分:0)
如果您使用的是Macports,则这样做更简单:
运行:
port install python37
安装后,设置默认值:
sudo port select --set python python37
sudo port select --set python3 python37
重新启动cmd窗口,完成。