如何在没有MANIFEST.in文件的情况下包含package_data?

如何在没有MANIFEST.in文件的情况下包含package_data?,第1张

如何在没有MANIFEST.in文件的情况下包含package_data?

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 the
MANIFEST
file if no template is provided.



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5601721.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存