我正在尝试将一个开源库移植到Python 3.(SymPy,如果有人想知道的话.)
所以,我需要2to3在为Python 3构建时自动运行.为此,我需要使用distribute.因此,我需要移植当前系统(根据doctest)distutils.
不幸的是,我不知道什么是这些模块-之间的区别distutils,distribute,setuptools.文档是最好的粗略,因为它们似乎都是彼此的分支,旨在在大多数情况下兼容(但实际上,不是全部)......等等.
有人可以解释这些差异吗?我应该用什么?什么是最现代的解决方案?(Distribute顺便说一句,我也很欣赏一些关于移植的指南,但这有点超出了问题的范围......)
我正在编写我的第一个Python模块,我想知道物流:具体来说,人们如何处理设置/构建.
它是标准的做法,所有的开始了distutils在地方的东西,并在virtualenv运行setup.py的每次修改和测试等?
人们更经常创建一个工作代码,然后担心将其转换为可分发的包吗?
非常具体的示例问题:我的代码需要访问数据文件.我应该只是在文件地址中硬编码,DATA_FILE_PATH = "./data/DATA.npz"或者我应该从一开始就弄清楚如何使用所有这些MANIFEST.in/ setup(..., package_data={ ... }, ...)东西?
编辑:@LukasGraf的这个惊人的答案提供了一些很棒的工作流程信息,很大程度上回答了我的问题.请给他一些赞成票!
python ×2
distribute ×1
distribution ×1
distutils ×1
package ×1
packaging ×1
setuptools ×1
workflow ×1