我正在开发基于pygit2
的python软件包。 pygit2取决于libgit2
。
Ubuntu 18.04的版本为libgit2-2.6
Ubuntu 18.10的版本为libgit2-2.7
在我的requirements.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上不起作用。
答案 0 :(得分:0)
您可以使用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
>>>
希望有帮助。