19

我是 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'])]      
     )

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

谢谢您的帮助。

4

2 回答 2

21

您可能需要添加一个MANIFEST.in包含"include app/scrapper.db".

这是 distutils 中的一个错误,这使得这变得必要:自动生成的任何内容data_filespackage_data应该包含的内容MANIFEST。但在 Python 2.6 及更早的版本中,它不是,所以你必须将它包含在MANIFEST.in.

该错误已在 Python 2.7 中修复。

于 2010-06-08T14:37:00.930 回答
1

尝试删除 MANIFEST,这样 distutils 将被迫重新生成它。

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

于 2010-06-10T19:59:34.857 回答