无法在 ubuntu 中将默认 python 版本设置为 python3
Unable to set default python version to python3 in ubuntu
我试图在 Ubuntu 16.04
中将默认 python 版本设置为 python3
。默认情况下它是 python2
(2.7)。我按照以下步骤操作:
update-alternatives --remove python /usr/bin/python2
update-alternatives --install /usr/bin/python python /usr/bin/python3
但是第二个语句出现以下错误,
rejeesh@rejeesh-Vostro-1015:~$ update-alternatives --install /usr/bin/python python /usr/bin/python3
update-alternatives: --install needs <link> <name> <path> <priority>
Use 'update-alternatives --help' for program usage information.
要更改为python3,您可以在终端alias python=python3
中使用以下命令。
编辑:
这是我年轻天真时写的,update-alternatives
是更好的方法。请参阅@Pardhu 的回答。
过时的答案:
Open your .bashrc file nano ~/.bashrc
. Type alias python=python3
on to a new line at the top of the file then save the file with ctrl+o
and close the file with ctrl+x. Then, back at your command line type
source ~/.bashrc
. Now your alias should be permanent.
如其所说,update-alternatives --install
需要 和 参数。
您有 link (/usr/bin/python
)、名称 (python
) 和路径 (/usr/bin/python3
),您缺少优先级。
update-alternatives --help
说:
<priority> is an integer; options with higher numbers have higher priority in automatic mode.
所以只需要在末尾放一个100
之类的东西
更新:
自 Ubuntu 20.04 以来,python3 是默认版本,但默认情况下,python 仍未注册为 python3。为了做到这一点,你可以简单地做:
sudo apt install python-is-python3
有关更多信息,您可以查看 this。
旧方法:
做
cd ~
gedit .bash_aliases
然后写
alias python=python3
或
alias python='/usr/bin/python3'
保存文件,关闭终端再打开。
你现在应该没事了! Link
一个简单安全的方法是使用别名。将其放入 ~/.bashrc 文件中:
如果你有 gedit 编辑器使用
gedit ~/.bashrc
进入 bashrc 文件,然后在 bashrc 文件的顶部进行以下更改。
alias python=python3
在文件中添加以上内容后。 运行 下面的命令
source ~/.bash_aliases or source ~/.bashrc
示例:
$ python --version
Python 2.7.6
$ python3 --version
Python 3.4.3
$ alias python=python3
$ python --version
Python 3.4.3
作为附加项,您还可以为 pip 添加别名(在 .bashrc 或 bash_aliases 中):
alias pip='pip3'
你们很多人发现 python3 的全新安装实际上指向 python3.x 所以你可能需要:
alias pip='pip3.6'
alias python='python3.6'
提到的第二行可以改成
[sudo] update-alternatives --install /usr/bin/python python /usr/bin/python3 10
这为 python3
的路径提供了 10 的优先级。
交替编辑 .bashrc
的缺点是使用带有 sudo
的命令将不起作用。
从
获取python路径
ls /usr/bin/python*
然后设置您的 python 版本
alias python="/usr/bin/python3"
对于另一种非侵入性、仅限当前用户的方法:
# First, make $HOME/bin, which will be automatically added to user's PATH
mkdir -p ~/bin
# make link actual python binaries
ln -s $(which python3) python
ln -s $(which pip3) pip
python
pip
将在新的 shell 中准备就绪。
ubuntu 18.04 中适用于所有用户的最佳方式是
sudo vim /etc/bash.bashrc
add lines
alias python=python3
alias pip=pip3
保存更改并重新启动。
重新启动后,系统中 python 3 的任何版本以及 python 2.7 都将被视为默认版本。如果您有 python 3.
的多个版本,您可以通过在别名中说以下内容来更具体
sudo vim /etc/bash.bashrc
add lines
alias python=python3.6
alias pip=pip3.6
将 Python 3.6.8 更改为 Ubuntu 18.04 中的默认设置为 Python 3.7.
安装Python3.7
安装 Python3.7 并将其配置为默认解释器的步骤。
使用 apt-get 安装 python3.7 包
sudo apt-get install python3.7
将 Python3.6 & Python 3.7 添加到 update-alternatives
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
更新 Python 3 指向 Python 3.7
sudo update-alternatives --config python3
输入 2 表示 Python 3.7
测试版本python
python3 --version
Python 3.7.1
首先,确保Python3已安装在您的计算机上
转到您的终端并输入:
cd ~/
转到您的主目录
如果您尚未设置 .bash_profile
,请键入 touch .bash_profile
以创建您的 .bash_profile.
或者,键入 open -e .bash_profile
来编辑文件。
复制并保存 alias python=python3
到 .bash_profile。
关闭并重新打开您的终端。然后键入以下命令来检查 Python3 是否是您现在的默认版本:
python --version
您应该看到 python 3.x.y 是您的默认版本。
干杯!
首次安装 python3 和 pip3
sudo apt-get install python3 python3-pip
然后在您的终端中 运行
alias python=python3
检查您机器中 python 的版本。
python --version
只需按照以下步骤将默认 python 更改为新升级的 python 版本。对我来说效果很好。
sudo apt-install python3.7
安装你想要的python最新版本
cd /usr/bin
进入安装python的根目录
sudo unlink python
或 sudo unlink python3
。取消链接当前默认 python
sudo ln -sv /usr/bin/python3.7 python
Link 新下载的 python 版本
python --version
检查新的 python 版本就可以了
如果您有 Ubuntu 20.04 LTS (Focal Fossa),您可以安装 python-is-python3
:
sudo apt install python-is-python3
将 /usr/bin/python
中的符号链接替换为指向 /usr/bin/python3
。
只需删除 python-is-python2
:
sudo apt purge python-is-python2
并安装 python-is-python3
:
sudo apt install python-is-python3
它将自动转换到新 python3。您可以选择稍后删除剩余的包:
sudo apt autoremove && sudo apt autoclean
要将 Python 3.6.8 从 Python 2.7 更改为 Ubuntu 18.04 中的默认设置,您可以尝试使用命令行工具 update-alternatives
.
sudo update-alternatives --config python
如果您收到错误消息“python 没有替代方案”,请使用以下命令自行设置替代方案:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
将路径 /usr/bin/python3
相应地更改为所需的 python 版本。
最后一个参数指定它的优先级意味着,如果没有手动选择备选方案,将设置具有最高优先级编号的备选方案。在我们的例子中,我们为 /usr/bin/python3.6.8
设置了优先级 2,因此 /usr/bin/python3.6.8
被 update-alternatives 命令自动设置为默认 python 版本。
我们可以随时在上面列出的 python 替代版本之间切换,使用以下命令并输入选择编号:
update-alternatives --config python
您没有包含优先级参数
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 5
您可以将 5 替换为任何您想要的优先级。优先级较高的备选方案优先于优先级较低的备选方案。
在 Linux 终端中设置默认 python 的优先级,方法是添加:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
在这里,我们将 python3
设置为优先级 10,将 python2
设置为优先级 1。这将使 python3
成为默认值 python。如果您希望 Python2 作为默认值,则将 python2 的优先级设置为高于 python3
这是一种适合我的简单方法。
sudo ln -s /usr/bin/python3 /usr/bin/python
您可以将 /usr/bin/python3
的 路径更改为 python3(或您想要的版本)。
但请记住,update-alternatives
可能是最佳选择。
在我的例子中,当我在我的终端中 运行 这个命令时发生了
" 别名 python=python3 "
sudo rm /usr/bin/python3 #remove existing link
sudo ln /usr/bin/python3.8 /usr/bin/python3 # create a new link to the version of your choice
如果有可能直接使用特定的 python 版本,与 update-alternatives
和 alias
解决方案相比,我会选择它。
例如
python3.6 -m pip install pytest
ptyhon3.6 -m pytest test_sample.py
-m
执行特定 python 版本的特定模块。
第一行将在可能的位置 /home/user/.local/lib/python3.5/site-packages
为特定版本和用户安装 pytest
~$ sudo apt-get install python3.9
/usr/bin$ cd /usr/bin
/usr/bin$ sudo unlink python3
/usr/bin$ sudo ln -sv /usr/bin/python3.9 python3
/usr/bin$ python3 --version
Python 3.9.5
/usr/bin$ pip3 --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.9)
我试图在 Ubuntu 16.04
中将默认 python 版本设置为 python3
。默认情况下它是 python2
(2.7)。我按照以下步骤操作:
update-alternatives --remove python /usr/bin/python2
update-alternatives --install /usr/bin/python python /usr/bin/python3
但是第二个语句出现以下错误,
rejeesh@rejeesh-Vostro-1015:~$ update-alternatives --install /usr/bin/python python /usr/bin/python3
update-alternatives: --install needs <link> <name> <path> <priority>
Use 'update-alternatives --help' for program usage information.
要更改为python3,您可以在终端alias python=python3
中使用以下命令。
编辑:
这是我年轻天真时写的,update-alternatives
是更好的方法。请参阅@Pardhu 的回答。
过时的答案:
Open your .bashrc file
nano ~/.bashrc
. Typealias python=python3
on to a new line at the top of the file then save the file with ctrl+o and close the file with ctrl+x. Then, back at your command line typesource ~/.bashrc
. Now your alias should be permanent.
如其所说,update-alternatives --install
需要
您有 link (/usr/bin/python
)、名称 (python
) 和路径 (/usr/bin/python3
),您缺少优先级。
update-alternatives --help
说:
<priority> is an integer; options with higher numbers have higher priority in automatic mode.
所以只需要在末尾放一个100
之类的东西
更新:
自 Ubuntu 20.04 以来,python3 是默认版本,但默认情况下,python 仍未注册为 python3。为了做到这一点,你可以简单地做:
sudo apt install python-is-python3
有关更多信息,您可以查看 this。
旧方法:
做
cd ~
gedit .bash_aliases
然后写
alias python=python3
或
alias python='/usr/bin/python3'
保存文件,关闭终端再打开。
你现在应该没事了! Link
一个简单安全的方法是使用别名。将其放入 ~/.bashrc 文件中: 如果你有 gedit 编辑器使用
gedit ~/.bashrc
进入 bashrc 文件,然后在 bashrc 文件的顶部进行以下更改。
alias python=python3
在文件中添加以上内容后。 运行 下面的命令
source ~/.bash_aliases or source ~/.bashrc
示例:
$ python --version
Python 2.7.6
$ python3 --version
Python 3.4.3
$ alias python=python3
$ python --version
Python 3.4.3
作为附加项,您还可以为 pip 添加别名(在 .bashrc 或 bash_aliases 中):
alias pip='pip3'
你们很多人发现 python3 的全新安装实际上指向 python3.x 所以你可能需要:
alias pip='pip3.6'
alias python='python3.6'
提到的第二行可以改成
[sudo] update-alternatives --install /usr/bin/python python /usr/bin/python3 10
这为 python3
的路径提供了 10 的优先级。
交替编辑 .bashrc
的缺点是使用带有 sudo
的命令将不起作用。
从
获取python路径ls /usr/bin/python*
然后设置您的 python 版本
alias python="/usr/bin/python3"
对于另一种非侵入性、仅限当前用户的方法:
# First, make $HOME/bin, which will be automatically added to user's PATH
mkdir -p ~/bin
# make link actual python binaries
ln -s $(which python3) python
ln -s $(which pip3) pip
python
pip
将在新的 shell 中准备就绪。
ubuntu 18.04 中适用于所有用户的最佳方式是
sudo vim /etc/bash.bashrc
add lines
alias python=python3
alias pip=pip3
保存更改并重新启动。
重新启动后,系统中 python 3 的任何版本以及 python 2.7 都将被视为默认版本。如果您有 python 3.
的多个版本,您可以通过在别名中说以下内容来更具体sudo vim /etc/bash.bashrc
add lines
alias python=python3.6
alias pip=pip3.6
将 Python 3.6.8 更改为 Ubuntu 18.04 中的默认设置为 Python 3.7.
安装Python3.7
安装 Python3.7 并将其配置为默认解释器的步骤。
使用 apt-get 安装 python3.7 包
sudo apt-get install python3.7
将 Python3.6 & Python 3.7 添加到
update-alternatives
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
更新 Python 3 指向 Python 3.7
sudo update-alternatives --config python3
输入 2 表示 Python 3.7测试版本python
python3 --version
Python 3.7.1
首先,确保Python3已安装在您的计算机上
转到您的终端并输入:
cd ~/
转到您的主目录
如果您尚未设置 .bash_profile
,请键入 touch .bash_profile
以创建您的 .bash_profile.
或者,键入 open -e .bash_profile
来编辑文件。
复制并保存 alias python=python3
到 .bash_profile。
关闭并重新打开您的终端。然后键入以下命令来检查 Python3 是否是您现在的默认版本:
python --version
您应该看到 python 3.x.y 是您的默认版本。
干杯!
首次安装 python3 和 pip3
sudo apt-get install python3 python3-pip
然后在您的终端中 运行
alias python=python3
检查您机器中 python 的版本。
python --version
只需按照以下步骤将默认 python 更改为新升级的 python 版本。对我来说效果很好。
sudo apt-install python3.7
安装你想要的python最新版本cd /usr/bin
进入安装python的根目录sudo unlink python
或sudo unlink python3
。取消链接当前默认 pythonsudo ln -sv /usr/bin/python3.7 python
Link 新下载的 python 版本python --version
检查新的 python 版本就可以了
如果您有 Ubuntu 20.04 LTS (Focal Fossa),您可以安装 python-is-python3
:
sudo apt install python-is-python3
将 /usr/bin/python
中的符号链接替换为指向 /usr/bin/python3
。
只需删除 python-is-python2
:
sudo apt purge python-is-python2
并安装 python-is-python3
:
sudo apt install python-is-python3
它将自动转换到新 python3。您可以选择稍后删除剩余的包:
sudo apt autoremove && sudo apt autoclean
要将 Python 3.6.8 从 Python 2.7 更改为 Ubuntu 18.04 中的默认设置,您可以尝试使用命令行工具 update-alternatives
.
sudo update-alternatives --config python
如果您收到错误消息“python 没有替代方案”,请使用以下命令自行设置替代方案:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
将路径 /usr/bin/python3
相应地更改为所需的 python 版本。
最后一个参数指定它的优先级意味着,如果没有手动选择备选方案,将设置具有最高优先级编号的备选方案。在我们的例子中,我们为 /usr/bin/python3.6.8
设置了优先级 2,因此 /usr/bin/python3.6.8
被 update-alternatives 命令自动设置为默认 python 版本。
我们可以随时在上面列出的 python 替代版本之间切换,使用以下命令并输入选择编号:
update-alternatives --config python
您没有包含优先级参数
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 5
您可以将 5 替换为任何您想要的优先级。优先级较高的备选方案优先于优先级较低的备选方案。
在 Linux 终端中设置默认 python 的优先级,方法是添加:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
在这里,我们将 python3
设置为优先级 10,将 python2
设置为优先级 1。这将使 python3
成为默认值 python。如果您希望 Python2 作为默认值,则将 python2 的优先级设置为高于 python3
这是一种适合我的简单方法。
sudo ln -s /usr/bin/python3 /usr/bin/python
您可以将 /usr/bin/python3
的 路径更改为 python3(或您想要的版本)。
但请记住,update-alternatives
可能是最佳选择。
在我的例子中,当我在我的终端中 运行 这个命令时发生了 " 别名 python=python3 "
sudo rm /usr/bin/python3 #remove existing link
sudo ln /usr/bin/python3.8 /usr/bin/python3 # create a new link to the version of your choice
如果有可能直接使用特定的 python 版本,与 update-alternatives
和 alias
解决方案相比,我会选择它。
例如
python3.6 -m pip install pytest
ptyhon3.6 -m pytest test_sample.py
-m
执行特定 python 版本的特定模块。
第一行将在可能的位置 /home/user/.local/lib/python3.5/site-packages
~$ sudo apt-get install python3.9
/usr/bin$ cd /usr/bin
/usr/bin$ sudo unlink python3
/usr/bin$ sudo ln -sv /usr/bin/python3.9 python3
/usr/bin$ python3 --version
Python 3.9.5
/usr/bin$ pip3 --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.9)