требование к пипсу в зависимости от доступной версии библиотеки ОС - PullRequest
0 голосов
/ 15 января 2019

Я разрабатываю пакет Python на основе pygit2. pygit2 зависит от libgit2.

Ubuntu 18.04 имеет версию libgit2-2.6

Ubuntu 18.10 имеет версию libgit2-2.7

В моем файле require.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 Ответ

0 голосов
/ 15 января 2019

Вы можете указать модули, зависящие от версии, используя модуль 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
>>>

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

...