首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置缺省Python版本而不使用--update-alternatives

如何设置缺省Python版本而不使用--update-alternatives
EN

Stack Overflow用户
提问于 2021-11-14 21:06:16
回答 1查看 116关注 0票数 0

我在Ubuntu 18.04上安装了Python3.6和Python3.8。当我执行python3 -V时,我得到的是python3.8.0,这是正确的。这是我目前默认的Python。

我在安装Python3.6和Python3.8时使用了Ubuntu18.04包存储库。我刚刚从源代码构建了Python3.10,现在我想将其设置为默认值。更改的规范方法是使用--update-alternatives,但我在安装Python3.6和Python3.8时没有这样做,所以当我执行以下命令时:

代码语言:javascript
运行
复制
update-alternatives --query python
update-alternatives: error: no alternatives for python

Python3.8位于/usr/bin/python3.8中,Python3.10位于/usr/local/bin/python3.10中。

根据我在网上读到的内容,我应该这样做:

代码语言:javascript
运行
复制
$ sudo update-alternatives --install /usr/local/bin/python python /usr/bin/python3.8
$ sudo update-alternatives --install /usr/local/bin/python python /usr/local/bin/python3.10  

然后,我选择了默认的sudo update-alternatives -config python。

因为我目前没有任何替代方案,但不知何故我能够从Python3.6切换到Python3.8 (我不记得是如何切换到Python3.8的),上述命令会导致任何问题吗?3.8 (/usr/bin/)和3.10 ( /usr/local/bin/ )的不同位置有问题吗? 3.10的symlink进入/usr/local/bin/会有什么影响?

当然,我可以尝试一下,但是如果有问题,我不确定如果它出错了该如何退出。我在网上得到了很多不同的信息。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-11-14 22:33:59

我已经回答了我自己的问题。首先,我确实有其他选择,但由于Ubuntu默认为Python2 (请Ubuntu更改这一点--世界已经改变了),命令是sudo update-alternatives -Python2 python3:

代码语言:javascript
运行
复制
$ sudo update-alternatives --config python3
There are 2 choices for the alternative python3 (providing /usr/bin/python3).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.8   2         auto mode
  1            /usr/bin/python3.6   1         manual mode
  2            /usr/bin/python3.8   2         manual mode

注意"providing /usr/bin/python3“这一行。这意味着Python3的Python符号链接位于/usr/bin/python3中。所以我添加了一个新的:

代码语言:javascript
运行
复制
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.10 3

这使得Python 3.10优先级为3,最高优先级。然后:

代码语言:javascript
运行
复制
$ python3 --version
Python 3.10.0   

我希望这对将来的人有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69967190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档