如何将额外的数据放入python包中?

时间:2014-01-15 20:34:37

标签: python distutils

我正在写一个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。如何传播这些文件?

0 个答案:

没有答案