2015-01-13 171 views
2

如何指定Setuptools模塊在安裝期間應該可用,但未安裝用於運行時?Python模塊:在安裝過程中使用但未安裝

我已經制作了我的Python發行版使用的擴展命令(在這種情況下,它自動生成版本元數據),並且該模塊包含在項目樹中。

foo-project/ 
    setup.py 
    MANIFEST.in 
    foo/ 
     __init__.py 
     bar.py 
    version_info.py 

要運行setuptools的命令(如egg_infodevelop)時,version_info模塊由setup導入。因此該文件version_info.py需要成爲源代碼分發的一部分。

但是將該文件放入源代碼發行版(默認情況下?)會自動將其包含在任何二進制發行版中,例如bdist_wheelbdist_dumb。這是錯誤的,因爲該文件在運行時不需要,並且不應該被安裝。

如何指定該文件是安裝程序命令的源代碼發行版中需要的Python模塊,但不是要安裝的?

回答

3

您可以在MANIFEST.in file中包含來源分佈文件;這些文件包含在構建包含setup.py文件的源代碼發佈時。

不要在data_filespackage_datapy_modules文件,它不會被包含在二進制分發(就像setup.py不會)。