应用场景:安装whl轮子文件显示平台不支持
安装轮子包
# 安装 wheel
pip install wheel
# 解包 .whl 文件
wheel unpack C:\Users\lenovo\Desktop\myenv\pyqt6_plugins-6.4.2.2.3-win_amd64.whl -d C:\Users\lenovo\Desktop\myenv\pyqt6_plugins_unpacked
# 修改解包后的文件
cd C:\Users\lenovo\Desktop\myenv\pyqt6_plugins_unpacked
# 在这里进行必要的修改
# 重新生成 RECORD 文件
wheel record . --no-entry-points > pyqt6_plugins-6.4.2.2.3.dist-info/RECORD
# 返回上一级目录
cd ..
# 重新打包为 .whl 文件
wheel pack C:\Users\lenovo\Desktop\myenv\pyqt6_plugins_unpacked
# 验证并安装新生成的 .whl 文件
pip install C:\Users\lenovo\Desktop\myenv\pyqt6_plugins-6.4.2.2.3-py3-none-any.whl
举个例子-Windows11 python3.12 安装pyqt6 pyqt6-tools会报错
1.找了一圈,终于找到了解决办法,用python3.11的插件包进行安装,有了环境,就可以正常安装
2.看上图,目前只有cp311,就是python3.11的版本,还没有python3.12的版本。那就用这个插件包,可行的原因可能是差别不大?
3.下载后的文件名是:pyqt6_plugins-6.4.2.2.3-cp311-cp311-win_amd64.whl
4.使用wheel将whl文件解压后,找到info文件夹,里面有个METADATA文件,拖出来,用记事本修改里面的信息。
5.将里面pyqt6和pyqt6-qt6后面括号里的版本号去掉,保存
6.使用wheel重新生成record文件
7.返回上一级,重新打包为whl文件
8.whl有固定的命名方式,一般是
{distribution}-{version}(-{build})?-{python_tags}-{abi_tags}-{platform_tags}.whl
{distribution} 是包的名称,例如 pyqt6_plugins。
{version} 是包的版本号,例如 6.4.2.2.3。
{build} 是可选的构建标签,通常为空。
{python_tags} 指定兼容的 Python 版本,例如 cp311 表示 Python 3.11,也可以用py3代表python3版本。
{abi_tags} 指定 ABI(Application Binary Interface),例如 cp311,可以不加如none。
{platform_tags} 指定平台,例如 win_amd64 表示 Windows 64 位系统,也可以用any。
在我们这个例子里,我们直接使用pyqt6_plugins-6.4.2.2.3-py3-none-any.whl
来命名,规避掉python版本的限制
若干命令
python -m venv myenv// 使用python自带模块myenv
myenv\Scripts\activate.bat// 上述两条命令即可进入虚拟环境并将其激活
执行pip install pyqt6/pip install pyqt6-tools/pip install pandas/pip install openpyxl/pip install pillow/pip install pyinstaller
// 上述执行完pyqt6之后,需要手动安装pyqt6-plugins,方法如上所示,然后再执行后面的安装命令
pip freeze > requirements.txt //
pip download -r requirements.txt --dest ./offline_packages
pip install --no-index --find-links=file:///C:/Users/lenovo/Desktop/offline_packages/ -r requirements.txt //使用绝对路径