我正在写一个python包。目录结构类似于:
root
|- requirements.txt
|- MANIFEST.in
|- setup.py
|- config.cfg
|- src
|- foo
|- __init__.py
|- foo.py
|- extra_files
|- bar.txt
|- baz.txt
setup.py
看起来像这样:
import setuptools
import ConfigParser
parser = ConfigParser.RawConfigParser()
parser.read('config.cfg')
setuptools.setup(name=parser.get('release', 'name'),
version=parser.get('release', 'version'),
package_dir={'foo': 'src/foo'},
packages=['foo'],
provides=['foo'],
package_data={'foo': ['extra_files']},
install_requires=open('requirements.txt').readlines()
)
MANIFEST.in
看起来像这样:
include config.cfg
include requirements.txt
recursive-include src/foo/extra_files *
现在,当我使用python setup.py sdist
创建包tarball时,extra_files
下的所有文件都会添加到生成的tarball中。但是,当我在另一台计算机上运行pip install
时,extra_files
无处可寻;我只有foo.py
。如何传播这些文件?