首页 > 解决方案 > PyQt5的子模块出现导入错误

问题描述

我正在尝试在 Ubuntu 14.04 上安装和使用 PyQt5。在此之前,我一直在使用 Ubuntu 18.04,安装和使用 PyQt5 没有任何问题。因为某个项目的一些技术需求,我需要改用14.04。

在我第一次启动 Ubuntu 之后,这是我安装东西的顺序:

安装 Python 3.6:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

安装 QT5

sudo apt-get install build-essential
sudo apt-get install qtcreator
sudo apt-get install qt5-default

安装 PyQt5

sudo apt-get install python3-pyqt5
sudo apt-get install pyqt5-dev-tools
sudo apt-get install qttools5-dev-tools

完成后,我运行此测试代码以查看是否出现导入错误:

import sys
from PyQt5 import QtCore, QtWidgets

当我运行它时,我得到了这个错误。它为 PyQt5 的任何子模块提供错误。在 Ubuntu 18.04 上,我对 qt5 和 pyqt5 执行了与上述相同的安装步骤,并且运行良好。(没有安装 python 3.6,因为它已经与 Ubuntu 18 一起安装)。

回溯(最后一次调用):
文件“/home/ms/test.py”,第 2 行,in
from PyQt5 import QtCore
ImportError: cannot import name 'QtCore'

我也尝试使用 pip 或 pip3 安装 pyqt5,但出现错误。

pip3 install pyqt5

错误:

Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_ms/pyqt5
Storing debug log for failure in /home/ms/.pip/pip.log

任何帮助将不胜感激。在过去的几天里,我一直在努力解决这个问题,但仍然不知道问题可能是什么。

标签: pythonpyqt5python-3.6ubuntu-14.04

解决方案


以下步骤用于使用 ubuntu: 14.04 在 docker 中安装 PyQt5:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6
sudo apt-get install curl
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3.6 get-pip.py
sudo python3.6 -m pip install --upgrade pip
sudo python3.6 -m pip install pyqt5==5.9.2
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libfontconfig1
python3.6 -c "from PyQt5 import QtCore, QtWidgets"

推荐阅读