如何将python的默认版本设置为3。x在OS x上?

我正在运行Mountain Lion,基本的默认Python版本是2.7。我下载了Python 3.3,并想将其设置为默认值。

目前:

$ python
version 2.7.5
$ python3.3
version 3.3

如何设置它,以便每次运行$ python时打开3.3?

777608 次浏览

转到“应用程序”,进入“Python”文件夹,应该有一个名为“Update Shell Profile.command”或类似的bash脚本。运行该脚本,它应该会完成。

更新:看起来你不应该更新它:如何更改默认的python版本?

在系统范围内更改默认的python可执行文件版本可能会破坏一些依赖于python2的应用程序。

但是,您可以在大多数shell中使用别名命令,因为macOS中的默认shell (bash在10.14及以下;10.15中的ZSH)共享类似的语法。你可以把 alias python='python3' 在你的~/.profile中,然后在你的~/.bash_profile和/或你的__abc3中使用如下一行来源~/.profile:

[ -e ~/.profile ] && . ~/.profile

这样,您的别名将跨shell工作。

这样,python命令现在调用python3。如果你想引用“原始”;python(引用python2),你可以使用command python,这将保持别名不变,并在所有shell中工作。

如果你更频繁地启动解释器(我做的),你总是可以创建更多的别名来添加,即:

alias 2='python2'
alias 3='python3'

提示:对于脚本,不要像下面这样使用shebang:

#!/usr/bin/env python

使用:

#!/usr/bin/env python3

这样,系统将使用python3来运行python < >强可执行文件< / >强

我不确定这在OS X上是否可用,但在linux上我会使用module命令。在这里看到的

正确地设置模块文件,然后在rc文件中添加如下内容(例如~/.bashrc):

module load python3.3

这将使您的路径在登录时根据需要进行切换,而不会影响任何系统默认值。

我认为当你安装python时,它会把导出路径语句放到你的~/中。bash_profile文件。所以如果你不打算再使用python2,你可以从那里删除这个语句。如上所述的别名也是一种很好的方法。

下面是如何从~/.bash_profile中删除引用 - vim ./.bash_profile -删除引用(也就是:export PATH="/Users/bla/anaconda:$PATH") - save并退出 - source ./。

. Bash_profile保存更改

你可以通过符号链接来解决。

unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.3 /usr/local/bin/python

我相信大多数登陆这里的人都通过iterm或其他方式使用ZSH,这就把你带到了这个答案

你必须在~/.zshrc中添加/修改你的命令。

如果你正在使用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)"

下面的方法对我很有效

cd /usr/local/bin
mv python python.old
ln -s python3 python

进入终端类型:

alias python=python3.x

这将把默认的python设置为python3.x

对我来说,解决方案是使用PyCharm,并将默认的python版本设置为我需要使用的版本。

安装PyCharm并转到file ==> preferences for new project,然后选择你想要的项目解释器,在本例中为python 3.3

打开~ / . bash_profile文件。

vi ~/.bash_profile

然后输入别名如下:

alias python='python3'

现在保存文件,然后运行~ / . bash_profile文件。

source ~/.bash_profile

祝贺! !现在,你可以通过输入python来使用python3。

python --version

Python 3.7.3

如果你使用macports,你不需要使用别名或环境变量,只需要使用macports已经提供的方法,解释如下:

如何:Macports选择python

TL;博士:

sudo port select --set python python27

这对我很管用。我添加了别名并重新启动了我的终端:

alias python=/usr/local/bin/python3

如果你正在使用macports,这有一个更简单的方法:

运行:

port install python37

安装后,设置默认值:

sudo port select --set python python37

sudo port select --set python3 python37

重新启动CMD窗口,完成。

我也遇到了这个问题,所以我想我应该发布一个更新的答案。请注意,这只适用于基于mac的设置(我没有在Windows或任何类型的Linux上尝试过)。最简单的方法是通过酿造安装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

嗯…有点旧了。但仍然值得一个好的答案。

好的是你不想碰Mac上的默认Python。

通过Homebrew或其他工具安装任何你需要的Python版本,并在virtualenv中使用它。Virtualenv通常被认为是像垃圾一样的东西,但它仍然比在系统范围内更改python版本(macOS可能会保护自己不受此类操作的影响)或在用户范围内更改python版本要好得多……无论什么。忘掉默认的Python。像venv一样使用游乐场是你的操作系统最感激的。

例如,许多现代Linux发行版去掉了开箱即用的Python2,只在系统中留下Python3。但每次你试图用python2作为依赖项安装旧的东西时……希望你能理解我的意思。优秀的开发人员不关心这些。优秀的开发人员使用他们想要的python版本创建干净的游乐场。

$ sudo ln -s -f $(which python3) $(which python)

完成了。

Mac用户只需要在终端上运行以下代码

brew switch python 3.X.X

3. x.x应该是新的python版本。

这将更新所有的系统链接。

更新

更新版本的MAC使用

brew link python 3.X.X

将python别名为python3的建议会导致设置python版本的虚拟环境出现问题(例如:pyenv)。使用pyenv,你可以像这样全局设置版本:

pyenv global 3.8.2

然后在任何特定的项目中,你都可以创建一个.python-version文件,其中包含python版本:

pyenv local 2.7.1

在我看来,这是在一个系统上管理多个python版本的最佳方法。

在MacOS

将python升级到最新版本: $ brew升级python

step 2: Go to home:回家 $ CD

步骤3:打开.bash_profile

$ vi .bash_profile

为Python 3.8设置PATH

= < p >路径“/图书馆/框架/ Python.framework /版本/ 3.8 / bin: $ {PATH}“; 导出路径< / p >

步骤4:保存文件。并通过以下方法编译:

$ . .bash_profile

步骤5:检查python版本:

$ python -V

第六步:就这些。

这是我经验中最简单的方法(如果你的mac上安装了brew)。

从你的终端试试这个:

brew install python3

然后在你的终端上运行下面的程序:

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

提示:

* * (记下终端上显示的python版本3.8或3.9。这将在下一步中需要)。例如,在我的情况下,它是:

lrwxr-xr-x 1 user admin 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的默认版本:

  1. 关闭当前终端或启动新终端
  2. 执行如下命令:

python --version

编码快乐!