Требование к пипсу на основе доступной версии библиотеки ОС

Я разрабатываю пакет 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
>>>

Надеюсь, поможет.

Другие вопросы по тегам