【WHL文件修改】修改pip的轮子文件(*.whl)版本号和架构方法

应用场景:安装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 //使用绝对路径
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容