【发布时间】:2011-02-27 11:06:23
【问题描述】:
我正在将一个小型 Python 项目打包为 zip 或 egg 文件,以便可以分发。我遇到了两种包含项目配置文件的方法,这两种方法似乎都产生了相同的结果。
方法一:
在 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'])]
)
方法二:
在 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 的。
-
您也可以在所有平台上使用
/。请注意,如果您有像config\notes.txt这样的文件,那么\n将变成换行符!你只是幸运\p不代表任何东西。 -
@Ian Bicking - 感谢您的提示!我在它们前面都加了一个 r 来处理这个问题
标签: python distribution distutils