2009-11-14 56 views
2

我正在尝试使用分发为我的项目的setup.py。我希望它包括包文件夹中的所有文件,它们是文本和图像文件,当然不包括.pyc文件。我读过这些文件应该由CVS和SVN跟踪,或者应该有一个MAINFEST.in包括分发包数据

所以:

  1. 我既不使用CVS也不SVN,我使用git。我知道可以为git编写一个插件,也许有人可以编写插件,但我不打算使用一些我不知道它是否会被维护和支持的插件。此外,git跟踪的不仅仅是源文件夹,repo还包括其他不应该打包在发行版中的文件。

  2. 我认为分配的一个好处是不必处理MANIFEST.in文件。我真的必须吗?如果是这样,我在哪里可以看到指南?我从未写过MANIFEST.in

有没有更好的解决方案?

回答

5

我已经改变Distutils的这种行为(在Python主干(2.7/3.2))

现在package_data提到的所有文件都将被默认包含无需 写MANIFEST.in文件,而不必须使用基于DVCS的神奇行为。

在此之前,我会建议使用明确的MANIFEST.in并坚持使用普通的Distutils选项,因此您不依赖任何VCS,并且不会因事故而添加文件,这些文件位于您的存储库中,但是您不希望在您的发布中看到添加内容。

分发0.7.x可能会坚持Distutils即将发布的默认行为。

在Distutils文档中查找MANIFEST.in模板语言,它非常简单。

Tarek

0

我不知道是否还有更好的文档distribute,因此您可能不得不参考setuptools的文档,其中distribute为分叉文档。具体请参阅包含数据文件部分。