我正在打包一个小型Python项目作为zip或egg文件,以便它可以分发。我已经遇到了两种包含项目配置文件的方式,这两种方式似乎都产生了相同的结果。2种将文件包含在Python发行版中的技术:哪种更好?
方法1:
包括此代码在setup.py:
from distutils.core import setup
setup(name='ProjectName',
version='1.0',
packages=['somePackage'],
data_files = [('config', ['config\propFiles1.ini',
'config\propFiles2.ini',
'config\propFiles3.ini'])]
)
方法2:
包括此代码在setup.py:
from distutils.core import setup
setup(name='ProjectName',
version='1.0',
packages=['somePackage']
)
然后,用这行代码创建一个MANIFEST.in文件:
include config\*
这两种方法有什么不同吗?哪一个是首选?我倾向于倾向于第一个,因为不需要MANIFEST.in文件。但是,在第一种方法中,您必须单独指定每个文件,而在第二种方法中,您可以只包含整个文件夹。还有什么我应该考虑?标准做法是什么?
注意:使用os.path.join创建路径;使用“\”是Windows特定的。 – 2010-06-03 18:32:36
您也可以在所有平台上使用'/'。请注意,如果你有像'config \ notes.txt'这样的文件,'\ n'会变成换行符!你很幸运'\ p'不代表什么。 – 2010-06-03 19:22:16
@Ian Bicking - 感谢您的提示!我将它们全部用r作为前缀来注意 – froadie 2010-06-03 19:52:26