假設我想安裝pyodbc
。它不能在某些Windows機器上構建,但有一種替代方案 - pypyodbc
,這是純粹的Python執行pyobdc
。setup.py中的替代依賴關係(回退)
有沒有辦法指定install_requires=["pyobdc"]
爲setuptools.setup
如果前一個軟件包沒有安裝,回落到pypyodbc
?
UPD:我對這種特定情況下的解決方案:
import sys
from setuptools import setup
if sys.platform.startswith("win"):
pyodbc = "pypyodbc>=1.2.0"
else:
pyodbc = "pyodbc>=3.0.7"
...
setup(
...
install_requires=[pyobdc]
)
但我還是找一個更通用的解決方案。
我認爲沒有錯用你的方法。根據文檔,這看起來有效。 https://pythonhosted.org/setuptools/setuptools.html#declaring-dependencies – rh0dium