无法在ubuntu中将默认python版本设置为python3

时间:2017-02-01 17:57:07

标签: python python-3.x ubuntu installation ubuntu-16.04

我试图在python3中将默认python版本设置为Ubuntu 16.04。默认情况下为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.   

我是Ubuntu的新手,我不知道自己做错了什么。

21 个答案:

答案 0 :(得分:66)

打开.bashrc文件nano ~/.bashrc。在文件顶部的新行上键入alias python=python3,然后使用ctrl + o保存文件,并使用ctrl + x关闭文件。然后,返回命令行类型source ~/.bashrc。现在你的别名应该是永久性的。

编辑:

对于更新备选方案,优先级是整数。优先级表示应首先使用哪个程序。 This文章总结得非常好。

答案 1 :(得分:44)

提到的第二行可以更改为

update-alternatives --install /usr/bin/python python /usr/bin/python3 10

这为python3的路径赋予优先级10。编辑.bashrc文件的缺点是在使用sudo命令时它不起作用。

答案 2 :(得分:25)

如果您具有Ubuntu 20.04 LTS(Focal Fossa),则可以安装python-is-python3

sudo apt install python-is-python3

替换/usr/bin/python中的符号链接以指向/usr/bin/python3

答案 3 :(得分:16)

要更改为python3,您可以在终端alias python=python3中使用以下命令。

答案 4 :(得分:11)

要将Ubuntu 3.04中的默认Python 3.6.8更改为Python 3.7。

安装Python 3.7

安装Python3.7并将其配置为默认解释器的步骤。

  1. 使用apt-get安装python3.7软件包

    sudo apt-get install python3.7

  2. 将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
  1. 更新Python 3以指向Python 3.7

    sudo update-alternatives --config python3 为Python 3.7输入2

  2. 测试python版本

python3 --v
Python 3.7.1 

答案 5 :(得分:7)

一种简单安全的方法是使用别名。将其放入〜/ .bashrc文件中: 如果你有gedit编辑器使用

  

gedit~ / .bashrc

进入bashrc文件,然后在bashrc文件的顶部进行以下更改。

  

alias python = python3

在文件中添加上述内容后。运行以下命令

  

source~ / .bash_aliases或source~ / .bashrc

示例:

  

$ python --version

     

Python 2.7.6

     

$ python3 --version

     

Python 3.4.3

     

$ alias python = python3

     

$ python --version

     

Python 3.4.3

答案 6 :(得分:6)

另外,你也可以为pip添加一个别名(在.bashrc或bash_aliases中):

  

alias pip ='pip3'

你们很多人发现python3的干净安装实际上指向python3.x所以你可能需要:

  别名pip ='pip3.6'
  别名python ='python3.6'

答案 7 :(得分:6)

这是一种对我有用的简单方法。

sudo ln -s /usr/bin/python3 /usr/bin/python

您可以将 /usr/bin/python3 更改为 python3 的路径(或您想要的版本)。

但请记住,update-alternatives 可能是最佳选择。

答案 8 :(得分:5)

cd ~
gedit .bash_aliases

然后写

alias python=python3

alias python='/usr/bin/python3'

保存文件,关闭终端并再次打开 你现在应该没事! Link

答案 9 :(得分:4)

要将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

答案 10 :(得分:3)

从以下位置获取python路径

ls /usr/bin/python*

然后设置您的python版本

alias python="/usr/bin/python3"

答案 11 :(得分:2)

对于仅当前用户使用的另一种非侵入式方法:

# 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中准备就绪。

答案 12 :(得分:2)

正如它所说,update-alternatives --install需要&lt; link&gt; &LT;名称&gt; &LT;路径&GT;和&lt; priority&gt;参数。

您有链接(/usr/bin/python),名称(python)和路径(/usr/bin/python3),您缺少优先级。

update-alternatives --help说:

  

&LT;优先&GT;是整数;更高编号的选项在自动模式下具有更高的优先级。

所以只需在末尾加上100或其他东西

答案 13 :(得分:1)

首先安装python3和pip3

sudo apt-get install python3 python3-pip

然后在您的终端中运行

alias python=python3

检查计算机中的python版本。

python --version

答案 14 :(得分:0)

适用于所有用户的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

答案 15 :(得分:0)

只需执行以下步骤,以帮助将默认python更改为新升级的python版本。对我来说很好。

  • sudo apt-install python3.7安装所需的最新版本的python
  • cd /usr/bin输入安装了python的根目录
  • sudo unlink pythonsudo unlink python3。取消链接当前的默认python
  • sudo ln -sv /usr/bin/python3.7 python链接新下载的python版本
  • python --version检查新的python版本,就可以了!

答案 16 :(得分:0)

只需删除class User(db.Model, UserMixin): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) active = db.Column('is_active', db.Boolean(), nullable=False, server_default='1') username =.Column(db.String(50, collation='NOCASE'), nullable=False, unique=True) password = db.Column(db.String(255), nullable=False, server_default='') # Define the relationship to Role via UserRoles roles = db.relationship('Role', secondary='user_roles') # Define the Role data-model class Role(db.Model): __tablename__ = 'roles' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(50), unique=True) # Define the UserRoles association table class UserRoles(db.Model): __tablename__ = 'user_roles' id = db.Column(db.Integer(), primary_key=True) user_id = db.Column(db.Integer(), db.ForeignKey('users.id', ondelete='CASCADE')) role_id = db.Column(db.Integer(), db.ForeignKey('roles.id', ondelete='CASCADE')) # Setup Flask-User user_manager = UserManager(app, db, User) db.create_all()

python-is-python2

并安装sudo apt purge python-is-python2

python-is-python3

它将自动过渡到新的python3。 (可选)您可以稍后删除剩余的软件包:

sudo apt install python-is-python3

答案 17 :(得分:0)

您没有包含优先级参数

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 5

您可以将5替换为所需的任何优先级。高优先级的选择优先于低优先级。

答案 18 :(得分:0)

通过添加以下内容来设置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

答案 19 :(得分:-1)

就我而言,它发生在我在终端中运行此命令时 " 别名 python=python3 "

答案 20 :(得分:-2)

首先,请确保您的计算机上安装了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 是您的默认版本。

干杯!