如何编辑一个wheel包(.whl)?

7
我有一个 Python Wheel 包,当我解压它时,发现一些 Python 代码。我想编辑这些代码,重新生成相同的 .whl 包,并测试以查看修改后的效果。我该如何操作?
3个回答

14

除了setup.py bdist_wheel,Wheel还提供了wheel命令。使用wheel unpack [file.whl]打开wheel,编辑你需要的内容,然后使用wheel pack [directory]重新打包。


wheel pack is an invalid command. How do you put it back as wheel file after unpacking? wheel: error: invalid choice: 'pack' (choose from 'keygen', 'sign', 'unsign', 'verify', 'unpack', 'install', 'install-scripts', 'convert', 'version', 'help') - Himaprasoon
1
更新:我在升级到0.33.4时使用的是0.31.1版本的wheel,这样就可以正常工作了。 - Himaprasoon

2
通常情况下,你不会直接使用 wheel 包,而是获取源代码包(或者使用开发模式将可编辑的包安装),然后从中重新构建 wheel 包,例如运行命令 python setup.py bdist_wheel。可以参考 https://packaging.python.org/distributing/ 获取有关如何构建 wheel 包的详细信息。

非常感谢,我想指出我已经有了源代码,但它非常庞大而且足够复杂,不容易追踪以了解一些关于变量等信息,这就是为什么我想直接编辑该软件包,我想我无论如何都得拆分该项目:)) - Kareem

0

您可以使用7zip或类似工具打开whl文件,跟踪要更改的文件,以编辑模式打开,保存,接下来7zip会弹出一个消息,说某些内容已被修改,如果您想保存更改,请按“是”,然后您就可以继续了。

在进行此操作之前,请记得备份原始的whl文件。


1
如果您以这种方式编辑轮子,则校验和将不匹配,导致无效的轮子。 - joeforker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接