2017-03-23 27 views
1

我正在使用setuptools打包自定義模塊進行部署,其中不應包含用於開發的data/目錄中的某些文件。我已經成功地排除使用recursive-exclude data/ *必要的文件在我MANIFEST.in文件,但我也看到了,我可以通過prune data/setuptools中的剪枝和遞歸 - 排除之間的區別?

這兩種方法都從package.egg-info/SOURCES.txt包裝後通過python setup.py egg_info

刪除預期的文件,這樣做有什麼區別之間他們倆?

回答

2

基礎上documentation行爲是:

  • recursive-exclude dir pat1 pat2需要的目錄dir並忽略所有匹配的模式pat1這一點,pat2

  • prune dir將排除在目錄中的所有文件的文件dir

因此,在您的情況下,recursive-exclude dir *prune dir應具有相同的行爲,但prune將刪除整個目錄,而recursive-exclude將保留一個空文件夾。

+0

啊!我正在查看setuptools文檔,而不是distutils ...無論如何,'recursive-exclude'似乎也擺脫了空文件夾。看看文檔,我認爲唯一的區別是'recursive-exclude'允許你指定文件類型,而'prune'則刪除整個目錄。 – yunque