我试图在 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.
python
更改为 Python 3 对我来说听起来是个坏主意。调用用 Python 2 编写的脚本的默认方法是 python my-script-p2.py
,而它是 python3 my-script-p3.py
。我希望许多系统脚本都依赖于此。
提到的第二行可以更改为
[sudo] update-alternatives --install /usr/bin/python python /usr/bin/python3 10
这为 python3
的路径提供了 10 的优先级。
交替编辑 .bashrc
的缺点是使用带有 sudo
的命令将不起作用。
编辑:
我在年轻和天真时写了这个,update-alternatives
是更好的方法。请参阅@Pardhu 的回答。
过时的答案:
打开你的 .bashrc 文件 nano ~/.bashrc。在文件顶部的新行中键入 alias python=python3 然后使用 ctrl+o 保存文件并使用 ctrl+x 关闭文件。然后,回到你的命令行类型 source ~/.bashrc。现在您的别名应该是永久的。
#!/usr/bin/env python
开头的脚本将不会使用 bashrc 中的版本。请使用@Pardhu 的回答。
将 Python 3.6.8 作为 Ubuntu 18.04 中的默认设置更改为 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 输入 2 表示 Python 3.7 测试 python 的版本
python3 --version
Python 3.7.1
如果您有 Ubuntu 20.04 LTS (Focal Fossa),您可以安装 python-is-python3
:
sudo apt install python-is-python3
它将 /usr/bin/python
中的符号链接替换为指向 /usr/bin/python3
。
apt
而不是 apt-get
作为 install
子命令。
要更改为 python3,您可以在终端 alias python=python3
中使用以下命令。
一个简单的安全方法是使用别名。将其放入 ~/.bashrc 文件中:如果您有 gedit 编辑器,请使用
gedit ~/.bashrc
进入 bashrc 文件,然后在 bashrc 文件的顶部进行以下更改。
别名 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
只需按照以下步骤帮助将默认 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版本,你很高兴
首先安装python3和pip3
sudo apt-get install python3 python3-pip
然后在你的终端运行
alias python=python3
检查您机器中的 python 版本。
python --version
作为额外的附加功能,您还可以为 pip 添加别名(在 .bashrc 或 bash_aliases 中):
别名 pip='pip3'
许多人发现 python3 的全新安装实际上指向 python3.x,因此您可能需要:
别名 pip='pip3.6' 别名 python='python3.6'
这是一种对我有用的简单方法。
sudo ln -s /usr/bin/python3 /usr/bin/python
您可以将 /usr/bin/python3
更改为 python3 的路径(或您想要的版本)。
但请记住,update-alternatives
可能是最佳选择。
正如它所说,update-alternatives --install
需要 <link> <名字> <路径>和 <优先级>论据。
您有链接 (/usr/bin/python
)、名称 (python
) 和路径 (/usr/bin/python3
),但您缺少优先级。
update-alternatives --help
说:
所以只需在最后放一个 100
或其他东西
获取python路径
ls /usr/bin/python*
然后设置你的python版本
alias python="/usr/bin/python3"
要将 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
对于另一种非侵入性、仅限当前用户的方法:
# 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
将在新外壳中准备就绪。
只需删除 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
通过添加以下内容为 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 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 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
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
您没有包含优先级参数
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 5
您可以将 5 替换为您想要的任何优先级。较高优先级的备选方案优先于较低优先级。
如果有可能直接使用特定的 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
在我的情况下,它发生在我在终端“ alias python=python3 ”中运行此命令时
首先,确保您的计算机上安装了 Python3
转到您的终端并输入:
cd ~/
转到您的主目录
如果您尚未设置 .bash_profile
,请输入 touch .bash_profile
以创建您的 .bash_profile。
或者,键入 open -e .bash_profile
以编辑文件。
复制 alias python=python3
并将其保存在 .bash_profile 中。
关闭并重新打开您的终端。然后键入以下命令来检查 Python3 现在是否是您的默认版本:
python --version
您应该看到 python 3.xy 是您的默认版本。
干杯!
不定期副业成功案例分享
python
运行python3
之后,但python-config
仍然运行python2-config
并出现一般损坏