python distutils 不包含 data_files
我刚接触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
后生成的压缩文件里没有包含scrapper.db这个文件。我在应用程序的目录里有这个scrapper.db文件..
谢谢大家的帮助。
2 个回答
1
试着把MANIFEST文件删掉,这样distutils就会被迫重新生成这个文件。
注意:我一直在用python 3.x,所以我不知道这个方法在2.x上是否有效。
21
你可能需要添加一个 MANIFEST.in
文件,里面包含 "include app/scrapper.db"
这行内容。
这是因为 distutils 里有个小问题,导致这个文件是必须的:在 data_files
或 package_data
里面的任何东西应该自动包含在生成的 MANIFEST
文件里。但是在 Python 2.6 及之前的版本中,它并不会这样做,所以你得在 MANIFEST.in
里手动添加它。
这个问题在 Python 2.7 里已经修复了。