2024-04-19 13:04:44 发布
网友
我在讨论setup.py包含非python文件的各种选项,它们有些不直观。我希望能够检查由bdist_wheel生成的包,以查看其中的实际内容——与其说是确保它能够工作(这就是测试的目的),不如说是查看我设置的选项的效果。
setup.py
bdist_wheel
如何列出.whl中包含的文件?
.whl
您可以将wheel文件的扩展名更改为.zip,然后像提取任何其他zip文件一样提取内容。
.zip
来自PEP 427
A wheel is a ZIP-format archive with a specially formatted file name and the .whl extension.
示例
Django python package有一个控制盘文件。以Django-1.8.4-py2.py3-none-any.whl为例。如果您想查看它们最终存储在归档文件中的位置,那么它们的包包含非python文件。
代码
下面的代码在python2和python3中正常工作。它将列出任何wheel包中的文件。我以pep8车轮包为例。
from zipfile import ZipFile path = '/tmp/pep8-1.7.0-py2.py3-none-any.whl' print(ZipFile(path).namelist())
输出
['pep8.py', 'pep8-1.7.0.dist-info/DESCRIPTION.rst', 'pep8-1.7.0.dist-info/entry_points.txt', 'pep8-1.7.0.dist-info/metadata.json', 'pep8-1.7.0.dist-info/namespace_packages.txt', 'pep8-1.7.0.dist-info/top_level.txt', 'pep8-1.7.0.dist-info/WHEEL', 'pep8-1.7.0.dist-info/METADATA', 'pep8-1.7.0.dist-info/RECORD']
unzip -l dist/*.whl(credit)
unzip -l dist/*.whl
由于轮子是一个ZIP文件,unzip可以工作。除非将扩展名重命名为zip,否则文件名的制表符完成将不起作用。from zipfile import ZipFile方法假设系统中只存在Python,但是shell中的一行代码更实用。
unzip
zip
from zipfile import ZipFile
您可以将wheel文件的扩展名更改为
.zip
,然后像提取任何其他zip文件一样提取内容。来自PEP 427
示例
Django python package有一个控制盘文件。以Django-1.8.4-py2.py3-none-any.whl为例。如果您想查看它们最终存储在归档文件中的位置,那么它们的包包含非python文件。
代码
下面的代码在python2和python3中正常工作。它将列出任何wheel包中的文件。我以pep8车轮包为例。
输出
unzip -l dist/*.whl
(credit)由于轮子是一个ZIP文件,
unzip
可以工作。除非将扩展名重命名为zip
,否则文件名的制表符完成将不起作用。from zipfile import ZipFile
方法假设系统中只存在Python,但是shell中的一行代码更实用。相关问题 更多 >
编程相关推荐