我尝试过dulwich和GitPython-两者似乎都不成熟。现在,我正在尝试安装libgit2 / pygit2。我已经将它们成功安装到主机软件包环境中,但是现在我需要将它们安装在正在构建的应用程序的virtualenv中。
Python 2.7.3 (default, Sep 26 2013, 20:03:06)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pygit2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pygit2/__init__.py", line 32, in <module>
import _pygit2
ImportError: libgit2.so.0: cannot open shared object file: No such file or directory
>>>
如您所见,当前问题似乎是在virtualenv中找不到全局安装的libgit2.so.0。公平地说,那就是virtualenv到底是关于沙箱的内容。那么,如何为virtualenv链接/符号链接/构建libgit2.so的版本/副本?
最佳答案
我在Gist中找到以下脚本,该脚本在登录virtualenv时运行时,会将当前的libgit2 / pygit2一起安装在venv中。
https://gist.github.com/olivier-m/5755638
请注意,将两个库的版本号更新为相同的最新版本(在撰写本文时为0.20.0)。