我试图在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的新手,我不知道自己做错了什么。
答案 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并将其配置为默认解释器的步骤。
使用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
为Python 3.7输入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 python
或sudo 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 是您的默认版本。
干杯!