有沒有什麼辦法可以告訴pip在不需要時跳過一些setup_requires依賴關係?有條件的setup需要setup.py中的依賴關係
在我的場景中,我在我的setup.py中聲明瞭pytest-runner作爲安裝依賴項(用於執行測試)。當我嘗試安裝我的軟件包(I.e:pip install my-package.tar.gz)時,它會下載pytest-runner,否則它將無法使用(*)。
在setup.py我:
...
setup_requires=['pytest-runner', 'flake8']
...
我想告訴setup.py只執行測試時只使用pytest亞軍。那可能嗎?
由於@deceze建議,這個聲明將工作:
setup_requires=['pytest-runner', 'flake8'] if 'test' in sys.argv else []
但我不希望添加邏輯的setup.py。
(*)環境非常有限,這就是爲什麼下載依賴項成爲障礙。
將它們聲明爲* extra *將不起作用,因爲執行** python setup.py test **時它們將不可用,而且我不想在本地安裝它們。檢查環境絕對是一種選擇,我希望不是唯一的選擇。 –