2015-11-05 66 views
2

我注意到一些python項目包括setuptools在所需模塊列表中。我的代碼在沒有它的情況下安裝並運行良好。任何原因setup.py install_requires應該包括setuptools?

我可能會誤解,但我認爲install_requires列表的目的是指定安裝後需要執行的模塊,而不是在安裝過程中。

是否有一些特殊用例可以安裝setuptools

install_requires=[ 
    'setuptools', 
    'requests', 
], 

回答

2

如果你的項目利用了pkg_resources,例如從entry points加載資源,它的運行時間取決於setuptools(其中包括pkg_resources包)。

由於Django的setup.py不包括setuptools作爲要求,但確實利用了pkg_resouces,這can lead to confusion

+0

謝謝你的回答。如果正確理解,有些情況下安裝期間setuptools可用,但在執行環境中不可用,因此需要安裝到執行環境中。 – Steve

+0

如果通過[wheel](https://wheel.readthedocs.org/en/latest/)或一個雞蛋安裝了一個發行版,安裝過程中甚至不需要setuptools。但是,當然,如果setuptools在安裝包後根據它進行卸載,'install_requires'將無法做任何事情。 –

相關問題