2012-05-25 20 views
5

我正在打包我的第一个Django应用程序,我想从egg中省略我的settings_local.py文件。理想情况下,我正在寻找一种方法,让我的.gitignore文件中的所有内容都从egg中排除。打包Python蛋时,如何排除.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'}, 

任何建议将非常感激。

回答

2

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

我都在全球安装的软件包,在我的Python的site-packages,但它应该是足够的setup_requires结构列出它在你的setup.py

setup(... 
    setup_requires=['setuptools-git'], 
    ... 
) 
+0

感谢。太棒了。我很尴尬地承认问题在于我没有预料到setup.py的顶级目录,当我初始化本地回购时,所以它在它之外。 – Nox

2

您可以使用git archive产生一个zip文件与git仓库的内容(就像它将在一个新的工作目录中一样)。然后,您可以使用这些文件打包蛋,但需要。

参见: git archive

相关问题