2011-06-04 125 views
14

安裝我的python包時,我希望能夠告訴用戶各種可選的依賴關係。理想情況下,我還想打印出關於這些可選要求的消息,以及它們各自的作用。distutils/pip中的可選依賴關係

我還沒有看到pip或docutils文檔中的任何內容。做這些支持可選依賴項的工具嗎?

+0

的可能重複:http://stackoverflow.com/questions/3664478/optional-dependencies-in-a-pip-requirements-file – Gregg 2011-06-04 17:04:04

+0

如果他們是可選的,他們」不嚴格依賴,是嗎? – 2011-06-05 12:46:03

+1

我稱它們爲可選依賴項,因爲這是Ubuntu的包管理器調用它們。他們不是嚴格要求的,但如果他們安裝,程序可以使用它們。 – 2011-06-05 17:19:50

回答

14

這些被稱爲臨時演員,here is how to use them in your setup.py

基本支持位於pkg_resources中。您需要在您的setup.py中啓用分發功能。 PIP也會理解他們:

pip install 'package[extras]' 
+6

有沒有一種標準的方式來查看哪些附加功能可用? – Sean1708 2015-10-10 12:32:44

+0

@ Sean1708不,pip今天沒有這樣的功能。一種解決方法是檢查源代碼的'setup.py'文件中的額外內容。 另一種方法是檢查已安裝軟件包的'<程序包名稱> - .dist-info/metadata.json'中的「extras」鍵,該程序位於'site-packages'內(或安裝了軟件包的任何位置)。 – 2017-06-21 20:06:15