微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 python setup.py bdist_wheel 创建一个构建文件夹?

如何解决为什么 python setup.py bdist_wheel 创建一个构建文件夹?

我刚刚学会了上传 my own python packages to PyPI 多亏了这个了不起的 tutorial. 我现在正在努力更好地了解 wheels 的工作原理,我发现 this article 很有帮助。

但是,我仍然不明白为什么 python setup.py bdist_wheel 创建一个几乎为空的目录,名为 build,其中包含两个子文件夹:bdist.win-amd64(空)和 lib(其中包含一个副本我的包),以及 .whl 目录中的 dist 文件,开发人员稍后将通过执行 python -m twine upload dist/* 将其上传到 PyPI。

为什么需要这个 build 目录?我的意思是,dist 目录还不够吗?此外,如果代码实际上没有被编译,为什么 .whl 被称为二进制分布

解决方法

python setup.py bdist_wheel 在内部运行 python setup.py install,后者依次运行 python setup.py build 将项目编译/构建到 build/ 目录中的临时位置,然后将编译的项目安装到另一个临时位置build/ 目录内。它从第二个临时位置中的文件创建一个轮子。

至于编译——python 模块可以用 C/C++ 编写,而且通常是这样。所以 python setup.py build 需要编译。如果没有要编译的东西——好吧,编译步骤会被跳过,但构建步骤仍在运行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。