python distutils不包含data_files

时间:2010-06-08 02:16:27

标签: python installation distutils

我是distutils的新手..我正在尝试包含一些数据文件以及包..这是我的代码..

from distutils.core import setup

setup(name='Scrapper',
      version='1.0',
      description='Scrapper',      
      packages=['app', 'db', 'model', 'util'],
      data_files=[('app', ['app/scrapper.db'])]      
     )

执行python setup.py sdist后创建的zip文件不包含scrapper.db文件。我在app目录中有scrapper.db文件..

感谢您的帮助。

2 个答案:

答案 0 :(得分:21)

您可能需要添加包含MANIFEST.in的{​​{1}}文件。

distutils中的一个错误使得必要:"include app/scrapper.db"data_files中的任何内容都应自动包含在生成的package_data中。但是在Python 2.6及更早版本中,它不是,因此您必须将其包含在MANIFEST中。

该错误已在Python 2.7中修复。

答案 1 :(得分:1)

尝试删除MANIFEST,这样就会强制distutils重新生成它。

注意:我一直在使用python 3.x,所以我不知道这是否适用于2.x。