我目前安装了python 3.8。我还单独安装了python 3.11,但默认python3
别名指向3.8:
➜ ~ python3 --version
Python 3.8.10
➜ ~ python3.11 --version
Python 3.11.1
我想将系统范围内的默认别名升级到 3.11,因为我正在使用带有 Todoist 插件的 uLauncher,该插件使用了 python 包todoist-api-python
问题:最新版本的软件包至少需要 python 3.9,但至少在我的系统上,默认值python3
指向 3.8,这不起作用。因此,每当我安装软件包时,它都会安装一个旧版本,该版本使用旧的、已弃用的 todoist API 版本,这不再起作用。
python3.11
据我所知,没有办法告诉 uLauncher 使用已安装的。
因此我尝试使用类似描述的方法将python3
别名切换为指向 3.11update-alternatives
这里
一开始,当我看到python3 --version
打印输出时3.11
,我很高兴,但我很快意识到这实际上破坏了主要的东西。uLauncher 应用程序(我尝试进行此 python 升级的原因)不再启动,甚至默认的 gnome-terminal 也不再启动。
因此我又重新python3
指向 3.8,以便能够正常使用我的电脑,但原来的问题仍然存在。
我怀疑应用程序依赖于 python 并且期望 3.8,因此当python3
指向其他东西时它们会中断。
如何在不破坏主要应用程序的情况下在 Ubuntu 20.04 上升级到 python 3.11?
答案1
如何在不破坏主要应用程序的情况下在 Ubuntu 20.04 上升级到 python 3.11?
你不能...明白为什么了吗?
该怎么办?...创建虚拟python3.11
环境...然后todoist-api-python
像这样安装:
ubuntu@Lenovo:~/test$ mkdir venv3_11 && cd venv3_11
ubuntu@Lenovo:~/test/venv3_11$ python3.11 -m venv env
ubuntu@Lenovo:~/test/venv3_11$ source env/bin/activate
(env) ubuntu@Lenovo:~/test/venv3_11$ pip3 install todoist-api-python
Collecting todoist-api-python
Using cached todoist_api_python-2.0.2-py3-none-any.whl (11 kB)
Collecting attrs<23.0.0,>=22.0.0
Using cached attrs-22.2.0-py3-none-any.whl (60 kB)
Collecting requests<3.0.0,>=2.26.0
Using cached requests-2.28.2-py3-none-any.whl (62 kB)
Collecting urllib3<1.27,>=1.21.1
Downloading urllib3-1.26.14-py2.py3-none-any.whl (140 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.6/140.6 KB 369.4 kB/s eta 0:00:00
Collecting idna<4,>=2.5
Downloading idna-3.4-py3-none-any.whl (61 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 KB 1.3 MB/s eta 0:00:00
Collecting certifi>=2017.4.17
Downloading certifi-2022.12.7-py3-none-any.whl (155 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.3/155.3 KB 2.9 MB/s eta 0:00:00
Collecting charset-normalizer<4,>=2
Downloading charset_normalizer-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (196 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 196.8/196.8 KB 2.4 MB/s eta 0:00:00
Installing collected packages: charset-normalizer, urllib3, idna, certifi, attrs, requests, todoist-api-python
Successfully installed attrs-22.2.0 certifi-2022.12.7 charset-normalizer-3.0.1 idna-3.4 requests-2.28.2 todoist-api-python-2.0.2 urllib3-1.26.14
(env) ubuntu@Lenovo:~/test/venv3_11$
然后从现在开始,您要做的就是激活该虚拟环境才能使用该包...虚拟环境中的 Python 会安装包/模块并像系统范围的 Python 一样运行它们,但是在安全的隔离环境中。