Требование к пипсу на основе доступной версии библиотеки ОС
Я разрабатываю пакет Python на основе pygit2
, pygit2 зависит от libgit2
,
Ubuntu 18.04 имеет версию libgit2-2.6
Ubuntu 18.10 имеет версию libgit2-2.7
В моих требованиях.txt/Pipfile, если у меня есть "pygit2" = "==0.26.4"
работает 18.04 (после выполнения apt-get install libgit2-dev
) но не в 18.10. Точно так же, в зависимости от "*"
или же "==0.27"
работает 18.10, но не 18.04. Я не пробовал на других дистрибутивах. Есть ли способ, которым я могу указать, как,
if os has libgit2-2.6
pygit2 == 0.26.4
else if os has libgit2-2.7
pygit2 == 0.27.x
Я старался pygit2>=0.26.4
, не работал на 18.04.
1 ответ
Вы можете указать специфичные для версии модули с помощью platform
модуль.
>>> platform.platform().split('-')[6]
'18.04'
>>>
>>> import platform
>>> if "18.04" in platform.platform():
... print("install 18.04 modules")
... elif "18.10" in platform.platform():
... print("Install 18.10 modules")
...
install 18.04 modules
>>>
Надеюсь, поможет.