
TL; DR :
package_data字典中的键是 包 ;值是glob列表。
''不是任何Python软件包的有效名称。
如果要
bar.txt安装在
__init__.py软件包的旁边
foo,请使用
package_data={'foo': ['bar.txt']}我有布局:
foo/ __init__.py bar.txtsetup.py
现在,如果
foo是上述软件包,请执行以下 *** 作:
import setuptoolssetuptools.setup( name='foo', version='2015.3', license='commercial', packages=setuptools.find_packages(), package_data={'foo': ['bar.txt']},)之后
python setup.py sdist,我检查
dist/foo-2015.3.tar.gz
% tar tfz dist/foo-2015.3.tar.gz...foo-2015.3/foo/bar.txt...
但是,如果我跑你
setup.py有
package_data={'': ['foo/bar.txt']},我也同意了foo/bar.txt将
不会 被添加到源代码分发, 除非这个
foo-2015.3.egg-info/SOURCES.txt已经有行
foo/bar.txt-在这种情况下,该文件将在源分布d出太
没有使用清单。setuptools版本是
3.6(我故意安装了与您使用的相同的旧版本):
>>> import setuptools>>> setuptools.__version__'3.6'
上面的行为在标准中也起作用
distutils:2.6安装“旧版”
distutils文档的软件包数据;带有2.7、3.1的注释:
Changed in version [2.7, 3.1] : All the files that match
package_data
will be added to theMANIFESTfile if no template is provided.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)