Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置Python';OSX上的默认版本是3.x吗?_Python_Python 3.x_Macos_Installation - Fatal编程技术网

如何设置Python';OSX上的默认版本是3.x吗?

如何设置Python';OSX上的默认版本是3.x吗?,python,python-3.x,macos,installation,Python,Python 3.x,Macos,Installation,我正在运行Mountain Lion,基本的默认Python版本是2.7。我下载了Python3.3,并希望将其设置为默认值 目前: $ python version 2.7.5 $ python3.3 version 3.3 如何设置它,以便每次运行$python时它都会打开3.3?转到“应用程序”,输入“python”文件夹,应该有一个名为“updateshell Profile.command”或类似的bash脚本。运行该脚本,它应该可以完成它 更新:看起来您不应该更新它

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

目前:

$ python
    version 2.7.5
$ python3.3
    version 3.3

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

转到“应用程序”,输入“python”文件夹,应该有一个名为“updateshell Profile.command”或类似的bash脚本。运行该脚本,它应该可以完成它


更新:看起来您不应该更新它:

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


更新:看起来您不应该更新它:

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

但是,由于macOS中的默认shell(10.14及以下版本中的bash;10.15中的zsh)具有类似的语法,因此可以在大多数shell中为命令别名。你可以把
alias python='python3'
~/.profile
中,然后在
~/.bash\u profile
和/或您的
~/.zsh\u profile
中使用类似以下行的源
~/.profile

[ -e ~/.profile ] && . ~/.profile
这样,您的别名将跨shell工作

使用此命令,
python
命令现在调用
python3
。如果您想偶尔调用“原始”python(即python2),可以使用
命令python
,这将使别名保持不变,并在所有shell中工作

如果您更频繁地启动解释器(我有),您也可以创建更多别名来添加,例如:

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

提示:对于脚本,不要使用shebang,如:

#!/usr/bin/env python
使用:


这样,系统将使用python3运行python可执行文件

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

python --version
但是,由于macOS中的默认shell(10.14及以下版本中的bash;10.15中的zsh)具有类似的语法,因此可以在大多数shell中为命令别名。你可以把
alias python='python3'
~/.profile
中,然后在
~/.bash\u profile
和/或您的
~/.zsh\u profile
中使用类似以下行的源
~/.profile

[ -e ~/.profile ] && . ~/.profile
这样,您的别名将跨shell工作

使用此命令,
python
命令现在调用
python3
。如果您想偶尔调用“原始”python(即python2),可以使用
命令python
,这将使别名保持不变,并在所有shell中工作

如果您更频繁地启动解释器(我有),您也可以创建更多别名来添加,例如:

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

提示:对于脚本,不要使用shebang,如:

#!/usr/bin/env python
使用:


这样,系统将使用python3运行python可执行文件

我不确定这在OS X上是否可用,但在linux上我将使用
模块
命令

python --version
正确设置modulefile,然后向rc文件中添加类似的内容(例如~/.bashrc):


这将使您在登录时能够根据需要切换路径,而不会影响任何系统默认设置。

我不确定这在OS X上是否可用,但在linux上,我会使用
模块
命令

正确设置modulefile,然后向rc文件中添加类似的内容(例如~/.bashrc):


这将使您能够在登录时根据需要切换路径,而不影响任何系统默认设置。

我认为,当您安装python时,它会将导出路径语句放入~/.bash_配置文件中。因此,如果您不打算再使用Python2,您可以从那里删除该语句。如上所述,Alias也是一种很好的方法

下面是如何从~/.bash_配置文件中删除引用 -vim./.bash_剖面图 -删除引用(类似于:export PATH=“/Users/bla/anaconda:$PATH”) -保存并退出
-source./.bash_profile保存更改

我认为在安装python时,它会将导出路径语句放入~/.bash_profile文件中。因此,如果您不打算再使用Python2,您可以从那里删除该语句。如上所述,Alias也是一种很好的方法

下面是如何从~/.bash_配置文件中删除引用 -vim./.bash_剖面图 -删除引用(类似于:export PATH=“/Users/bla/anaconda:$PATH”) -保存并退出
-source./.bash_profile要保存更改

可以通过符号链接解决

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

您可以通过符号链接来解决它

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

我相信在这里登陆的大多数人都在使用ZSH thorugh iterm或其他任何东西,这让你想到了


您必须在
~/.zshrc
中添加/修改命令

我相信大多数登陆这里的人都在使用ZSH thorugh iterm或其他什么,这让你想到了


您必须在
~/.zshrc
中添加/修改命令

如果您使用的是
virtualenvwrapper
,您可以使用
哪个virtualenvwrapper.sh
找到它,然后使用
vim
或任何其他编辑器打开它,然后更改以下内容

# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi

将行
VIRTUALENVWRAPPER\u PYTHON=“$(command\which PYTHON)”
更改为
VIRTUALENVWRAPPER\u PYTHON=“$(command\which python3)”
如果您使用的是
VIRTUALENVWRAPPER
,您可以使用
which VIRTUALENVWRAPPER.sh
找到它,然后使用
vim
或任何其他编辑器打开它,然后更改以下内容

# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi

将行
VIRTUALENVWRAPPER\u PYTHON=“$(command\which PYTHON)”
更改为
VIRTUALENVWRAPPER\u PYTHON=“$(command\which python3)”

以下内容对我有效

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

以下几点对我有用

cd /usr/local/bin
mv python python.old
ln -s python3 python
转到端子类型:

alias python=python3.x
这将默认python设置为python3.x,转到终端类型:

alias python=python3.x
这将设置为默认设置
$ sudo ln -s -f $(which python3) $(which python)
brew switch python 3.x.x
pyenv global 3.8.2
pyenv local 2.7.1