我有一点困惑。似乎有两种不同类型的 Python 包,源代码发行版 (setup.py sdist) 和 Egg 发行版 (setup.py bdist_egg)。
两者似乎只是具有相同数据(Python 源文件)的档案。一个区别是pip
最推荐的包管理器,是无法安装eggs的。
两者之间有什么区别?分发包裹的“方式”是什么?
(注意,我不想通过 PyPI 分发我的包,但我想使用包管理器从 PyPI 获取我的依赖项)
setup.py sdist
创建一个来源分布:它包含 setup.py、模块/脚本的源文件(.py 文件或二进制模块的 .c/.cpp)、数据文件等。结果是一个存档,然后可用于重新编译上的所有内容任何平台。
setup.py bdist
(and bdist_*
)创建一个构建分布:它包括 .pyc 文件、.so/.dll/.dylib(二进制模块)、.exe(如果使用)py2exe
在 Windows 上,您的数据文件...但没有 setup.py。结果是特定于平台的存档(例如linux-x86_64
)和 Python 版本,只需将其解压到文件系统的根目录即可安装(可执行文件位于 /usr/bin (或等效文件)中,数据文件位于 /usr/share 中,模块位于 /usr/lib 中/pythonX.X/site-packages/...)。您甚至可以构建可以使用包管理器直接安装的 rpm 存档。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)