Python3 绑定到旧版本
Posted
技术标签:
【中文标题】Python3 绑定到旧版本【英文标题】:Python3 tied to older version 【发布时间】:2020-06-27 14:13:00 【问题描述】:背景:我目前正在运行 Elementary OS Hera(Ubuntu 18.04 LTS)。该发行版随附 Python 3.6.9。在某个时候,我安装了 Python 3.7.5...这是问题开始的时候。
问题:我正在尝试安装 PyQt5,它出于某种原因一直默认为旧版本。我确保 Python3 引用了较新的版本:
Wick:~$ python3 --version
Python 3.7.5
我还确保 python3.7 是主要版本:
Wick:~$ 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.7 2 auto mode
1 /usr/bin/python3.6 1 manual mode
* 2 /usr/bin/python3.7 2 manual mode
但是当我运行 sudo apt-get install -y python3-pyqt5
时。它仍然继续安装到 3.6 版本。这可以通过以下方式验证:
:~$ python3 -c "from PyQt5.QtCore import QSettings; print('done')"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'PyQt5.QtCore'
和踢球者
:~$ python3.6 -c "from PyQt5.QtCore import QSettings; print('done')"
done
或
:~$ python3.7 -c "from PyQt5.QtCore import QSettings; print('done')"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'PyQt5.QtCore'
非常感谢您提供的任何帮助。我快疯了。
附言作为新手提前道歉
【问题讨论】:
我可能会误解 this page,但看起来apt-get
将仅为分发默认版本 3.6 安装它。
我建议使用使用 /usr/bin/python3.7 创建的虚拟环境,然后使用 pip
安装 pyqt5
,而不是尝试通过包管理器安装它。
这很棒!我不完全确定如何根据您的回答将其标记为已解决(因为它是评论)
您可以写下您所做的事情作为自我回答。
【参考方案1】:
包只依赖python3.6:https://packages.ubuntu.com/bionic/python3-pyqt5。它将被安装,因为它是先决条件。
【讨论】:
【参考方案2】:@chepner 解决了这个问题:
“我建议使用使用 /usr/bin/python3.7 创建的虚拟环境,>然后使用 pip 在其中安装 pyqt5,而不是尝试通过您的 >包管理器安装它。”
非常感谢!
【讨论】:
以上是关于Python3 绑定到旧版本的主要内容,如果未能解决你的问题,请参考以下文章