5

我正在打包我的第一个 Django 应用程序,我想从 egg 中删除我的 settings_local.py 文件。理想情况下,我正在寻找一种方法,将 .gitignore 文件中的所有内容也排除在鸡蛋之外。

我在我的 MANIFEST.in 文件中尝试了以下变体(每个鸡蛋创建尝试一个):

prune project_name settings_local.py
prune project_name/settings_local.py
exclude project_name settings_local.py
exclude project_name/settings_local.py

我还尝试在我的 startup.py 文件中添加以下行(在朋友的推荐下):

exclude_package_data= {'': 'settings_local.py'},

任何建议将不胜感激。

4

2 回答 2

3

不要使用 MANIFEST.in 而是使用setuptools-git;使用该软件包,您的 git 存储库中包含的所有文件也将成为 egg 的一部分,其中列出的任何文件.gitignore都不会。

我已经在我的 python 的站点包中全局安装了该包,但它应该足以在您setup.pysetup_requires结构中列出它:

setup(...
    setup_requires=['setuptools-git'],
    ...
)
于 2012-05-25T20:10:09.140 回答
2

您可以使用git archivegit 存储库的内容生成一个 zip 文件(就像在新的工作目录中一样)。然后,您可以根据需要使用这些文件来打包鸡蛋。

参见: git 存档

于 2012-05-25T20:10:25.000 回答