我最近使用以下命令在 Ubuntu 18.04.4 LTS 机器上安装了 python 3.7:
sudo apt-get install python3.7
Run Code Online (Sandbox Code Playgroud)
我还运行了以下命令,因为我希望 python 3.7 运行为python3:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
Run Code Online (Sandbox Code Playgroud)
随后我按照一个建议来运行这个:
sudo apt autoremove
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试启用universe存储库 ( add-apt-repository universe) 时,出现以下错误:
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 11, in <module>
from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 28, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Run Code Online (Sandbox Code Playgroud)
我找到的大多数答案都告诉我python3-apt像这里和这里一样重新安装,但这不起作用。
我还能尝试什么?
这里和这里还有一些建议,特别是指向 python 的 dist 安装,这是 Ubuntu 18.04 的 3.6 版。这样做安全吗?这个python不能在某个时候升级吗?
事实证明,我的解决方案并不是完全解决为什么apt-pkg找不到模块的原因,而是了解将另一个版本的 python 安装到 Ubuntu 而不是发行版的注意事项。
我最终删除了我添加的将 python3 指向 python3.7 的替代方法
sudo update-alternatives --remove-all python3
Run Code Online (Sandbox Code Playgroud)
而是将符号链接修复为再次指向原始 3.6,与 Ubuntu 18.04 一起分发
sudo ln -sf /usr/bin/python3.6 /usr/bin/python3
Run Code Online (Sandbox Code Playgroud)
此外,现在我将使用该命令python3.7处理我需要 Python 3.7 的所有内容,这基本上只是创建我的 virtualenv,所以它不是那么麻烦。
学过的知识!
| 归档时间: |
|
| 查看次数: |
7171 次 |
| 最近记录: |