要完成您要描述的内容,将需要两个步骤...
该文件需要添加到源tarball中
需要修改setup.py才能将数据文件安装到源路径
步骤1:要将文件添加到源tarball,请将其包括在MANIFEST中
在包含setup.py的文件夹中创建一个MANIFEST模板
清单基本上是一个文本文件,其中包含要在源tarball中包含的所有文件的列表。
这是我的项目清单:
CHANGELOG.txt
INSTALL.txt
LICENSE.txt
pypreprocessor.py
README.txt
setup.py
test.py
TODO.txt
注意:尽管sdist 确实会自动添加一些文件,但我更愿意明确指定它们以确保确定,而不是预测它会做什么和不做什么。
步骤2:要将数据文件安装到源文件夹,请修改setup.py
由于您要向源安装文件夹添加数据文件(LICENSE.txt),因此需要修改数据安装路径以匹配源安装路径。这是必需的,因为默认情况下,数据文件与源文件的安装位置不同。
要修改数据安装目录以匹配源安装目录...
使用以下命令从distutils中获取安装目录信息:
from distutils.command.install import INSTALL_SCHEMES
修改数据安装目录以匹配源安装目录:
for scheme in INSTALL_SCHEMES.values():
scheme['data'] = scheme['purelib']
然后,将数据文件和位置添加到setup()中:
data_files=[('', ['LICENSE.txt'])]
注意:上面的步骤应该完全按照您所描述的标准方式完成,而无需任何扩展库。