如何在python wheel中列出文件?

发布于 2021-01-29 17:23:11

我正在setup.py研究包括非python文件在内的各种选项,它们有点不直观。我希望能够检查生成的程序包bdist_wheel以查看其中的实际内容-
并不是要确保它能正常工作(这就是测试的目的),而是要查看我设置的选项的效果。

如何列出包含的文件.whl

关注者
0
被浏览
174
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以将wheel文件更改为扩展名.zip,然后像其他任何zip文件一样提取内容。

    PEP 427

    轮盘是一种ZIP格式的存档,具有特殊格式的文件名和.whl扩展名。

    Django的Python包具有轮文件。以Django-1.8.4-py2.py3-none-
    any.whl
    为例。如果您想查看它们最终存储在存档中的位置,则它们的软件包中包含非python文件。

    以下代码可在python2和python3中正常工作。它将列出任何滚轮包装中的文件。我以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']
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看