當使用Python的setuptools的(python setup.py sdist
)創建一個源代碼分發,我使用的是MANIFEST.in
文件,其中包含行:忽略setuptools MANIFEST.in中的符號鏈接?
recursive-include mypackage
,因爲我想包括mypackage的目錄內的一些非模塊文件。但是,mypackage目錄下也有一些符號鏈接,它們的目標我不希望包含在我的源代碼發行版中。有沒有辦法在MANIFEST.in
內指定「忽略符號鏈接」?
我知道......我可能不應該有那些符號鏈接。
也許你可以通過在'setup.py'開頭運行一個'MANIFEST_template.in'到'MANIFEST.in'的函數來排除它們?掃描與[本文](http://stackoverflow.com/questions/17889368/if-path-is-symlink-to-otherother-path)信息的符號鏈接。不過,如果有這樣的選擇會很好。 – greschd
據我所知,使用'recursive-include mypackage'來避免你的包中包含所有東西。這可以挑選出你真正不想包含在你的發行版中的很多東西。您應該列出特定的文件,如果它們很少且特殊,或者通過擴展或其他文件名稱模式包括它們,例如, '遞歸 - 包含mypackage * .mydataformat'。 – taleinat
如果您知道符號鏈接,您可以在'MANIFEST.in'中的'recursive-include'之後顯式地添加'exclude's - 按順序對指令進行評估。 – fpbhb