[英]Dependency links for extras_require in setup.py
有沒有辦法在安裝帶有附加功能的包時自動處理依賴關系鏈接,而不必像install_requires
那樣調用--process-dependency-links
?
pip install -e .[extra] --process-dependency-links
我需要這個,因為依賴項僅位於私有 git 存儲庫上。
是否可以使用python setup.py install
安裝附加功能?
--process-dependency-links
仍被考慮,因為它已被棄用? 我不確定這里的狀態。
我搜索了太長時間,無法弄清楚如何使用 setup.cfg 執行此操作,因此希望如果其他人不想使用 setup.py,因為 OP 未指定,這將對其有所幫助。 我還包含了 install_requires 的自定義 URL,因為這也需要一段時間才能弄清楚。
#setup.cfg (only showing relevant parts)
[options]
install_requires =
pyyaml @ git+https://github.com/yaml/pyyaml.git@master
[options.extras_require]
jsonschema = jsonschema @ git+https://github.com/Julian/jsonschema.git@v3.2.0
six = six
pip install -e .[jsonschema]
會給你額外的自定義 URL 或pip install -e .[jsonschema,six]
會給你額外的東西(注意.
或逗號周圍沒有空格)在附加列表中)。python setup.py install
附加功能。--process-dependency-links
盡管有很多抱怨,但仍然不推薦使用,但是一旦您知道語法,上述內容就足夠了。extras_require
則不再需要--process-dependency-links
。使用 pip 版本 19.3.1 測試
例子:
$ pip install -e .[graphs]
# setup.py
from setuptools import setup
setup(
name='myservice',
version='0.1.0',
install_requires=[
'requests',
],
extras_require={
'graphs': [
'graphcommons @ git+ssh://git@github.com/graphcommons/graphcommons-python@master',
],
},
)
通過使用 ssh 協議(而不是 https)訪問 git repo,您可以從您的私有 repos 進行安裝。
不確定python setup.py install
但pip install .[extras]
應該足夠好?
是的,在 pip 版本 19 中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.