Python3 绑定到旧版本

Python3 tied to older version

背景:我目前是 运行ning 初级 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'

非常感谢您提供的任何帮助。我快疯了。

p.s。作为新手提前致歉

包仅依赖于 python3.6: https://packages.ubuntu.com/bionic/python3-pyqt5。它将被安装,因为它是先决条件。

@chepner 解决了这个问题:

"I would recommend using a virtual environment created with /usr/bin/python3.7, >then install pyqt5 there using pip rather than trying to install it via your >package manager."

非常感谢!