树莓派4 Python3.7虚拟环境下正确安装PyQt5的方法
解决树莓派4 Python3.7虚拟环境安装PyQt5的问题
你遇到的编译耗时过长、APT安装默认指向Python2的情况在树莓派环境里很常见,试试下面这些针对性的解决方案:
方法一:用PiWheels预编译包(最推荐,速度快)
PiWheels是专门为树莓派提供预编译Python包的源,能直接跳过耗时的C扩展编译步骤。操作步骤:
- 确保你已激活Python3.7虚拟环境:
source env/bin/activate - 执行带PiWheels源的pip安装命令:
pip install pyqt5 --extra-index-url https://www.piwheels.org/simple
这个命令会让pip优先下载针对ARM架构预编译好的PyQt5 wheel包,不用再等几小时编译。
方法二:通过APT安装Python3版本的PyQt5,再让虚拟环境访问
树莓派软件源里有Python3专用的PyQt5包,只是包名不是pyqt5,而是python3-pyqt5:
- 先安装系统级的Python3 PyQt5:
sudo apt-get update && sudo apt-get install python3-pyqt5
- 让虚拟环境能访问这个系统包有两种方式:
- 若还没创建虚拟环境,创建时加上
--system-site-packages参数:python3.7 -m venv --system-site-packages your_env_name - 若已有现有环境,可在虚拟环境的
lib/python3.7/site-packages目录下创建软链接(系统PyQt5一般在/usr/lib/python3/dist-packages/PyQt5):ln -s /usr/lib/python3/dist-packages/PyQt5 env/lib/python3.7/site-packages/ ln -s /usr/lib/python3/dist-packages/sip* env/lib/python3.7/site-packages/
- 若还没创建虚拟环境,创建时加上
额外检查点
- 激活虚拟环境后,执行
which pip确认用的是环境内的pip(输出应为env/bin/pip),避免误用到系统pip。 - 若之前尝试过源码安装,建议先清理缓存:
pip cache purge,再重新执行安装命令。
内容的提问来源于stack exchange,提问作者Tagalog
相关产品推荐
相关产品推荐

