我尝试使用 Redhat 7.0 上的pip安装 pygit2 python库但是我收到以下错误。如果有人知道如何解决这个问题,请告诉我。我真的会想到任何想法。
这是pip install pygit2
之后的控制台输出:
Collecting pygit2
Using cached pygit2-0.22.1.tar.gz
Complete output from command python setup.py egg_info:
Installed /tmp/pip-build-hMIDbT/pygit2/.eggs/cffi-1.1.2-py2.7-linux-x86_64.egg
Searching for pycparser
Reading https://pypi.python.org/simple/pycparser/
Best match: pycparser 2.14
Downloading https://pypi.python.org/packages/source/p/pycparser/pycparser-2.14.tar.gz#md5=a2bc8d28c923b4fe2b2c3b4b51a4f935
Processing pycparser-2.14.tar.gz
Writing /tmp/easy_install-L0qnp1/pycparser-2.14/setup.cfg
Running pycparser-2.14/setup.py -q bdist_egg --dist-dir /tmp/easy_install-L0qnp1/pycparser-2.14/egg-dist-tmp-OnOr01
warning: no previously-included files matching 'yacctab.*' found under directory 'tests'
warning: no previously-included files matching 'lextab.*' found under directory 'tests'
warning: no previously-included files matching 'yacctab.*' found under directory 'examples'
warning: no previously-included files matching 'lextab.*' found under directory 'examples'
zip_safe flag not set; analyzing archive contents...
Moving pycparser-2.14-py2.7.egg to /tmp/pip-build-hMIDbT/pygit2/.eggs
Installed /tmp/pip-build-hMIDbT/pygit2/.eggs/pycparser-2.14-py2.7.egg
running egg_info
creating pip-egg-info/pygit2.egg-info
writing requirements to pip-egg-info/pygit2.egg-info/requires.txt
writing pip-egg-info/pygit2.egg-info/PKG-INFO
writing top-level names to pip-egg-info/pygit2.egg-info/top_level.txt
writing dependency_links to pip-egg-info/pygit2.egg-info/dependency_links.txt
writing manifest file 'pip-egg-info/pygit2.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
running build_ext
building 'pygit2_cffi_3adedda7x2a59b7ee' extension
creating /tmp/pip-build-hMIDbT/pygit2/pygit2/__pycache__/pygit2
creating /tmp/pip-build-hMIDbT/pygit2/pygit2/__pycache__/pygit2/__pycache__
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/local/include -I/usr/include/python2.7 -c pygit2/__pycache__/pygit2_cffi_3adedda7x2a59b7ee.c -o /tmp/pip-build-hMIDbT/pygit2/pygit2/__pycache__/pygit2/__pycache__/pygit2_cffi_3adedda7x2a59b7ee.o
gcc -pthread -shared -Wl,-z,relro -Wl,-rpath=/lib,--enable-new-dtags /tmp/pip-build-hMIDbT/pygit2/pygit2/__pycache__/pygit2/__pycache__/pygit2_cffi_3adedda7x2a59b7ee.o -L/usr/local/lib -L/usr/lib64 -lgit2 -lpython2.7 -o /tmp/pip-build-hMIDbT/pygit2/pygit2/__pycache__/pygit2_cffi_3adedda7x2a59b7ee.so
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "/tmp/pip-build-hMIDbT/pygit2/setup.py", line 197, in <module>
cmdclass=cmdclass)
File "/usr/lib64/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "<string>", line 15, in replacement_run
File "/usr/lib/python2.7/site-packages/setuptools/command/egg_info.py", line 207, in find_sources
mm.run()
File "/usr/lib/python2.7/site-packages/setuptools/command/egg_info.py", line 291, in run
self.add_defaults()
File "/usr/lib/python2.7/site-packages/setuptools/command/egg_info.py", line 320, in add_defaults
sdist.add_defaults(self)
File "/usr/lib/python2.7/site-packages/setuptools/command/sdist.py", line 118, in add_defaults
build_py = self.get_finalized_command('build_py')
File "/usr/lib64/python2.7/distutils/cmd.py", line 312, in get_finalized_command
cmd_obj.ensure_finalized()
File "/usr/lib64/python2.7/distutils/cmd.py", line 109, in ensure_finalized
self.finalize_options()
File "/usr/lib/python2.7/site-packages/setuptools/command/build_py.py", line 28, in finalize_options
orig.build_py.finalize_options(self)
File "/usr/lib64/python2.7/distutils/command/build_py.py", line 46, in finalize_options
('force', 'force'))
File "/usr/lib64/python2.7/distutils/cmd.py", line 298, in set_undefined_options
src_cmd_obj.ensure_finalized()
File "/usr/lib64/python2.7/distutils/cmd.py", line 109, in ensure_finalized
self.finalize_options()
File "/tmp/pip-build-hMIDbT/pygit2/setup.py", line 103, in finalize_options
ffi, C = get_ffi()
File "pygit2/_utils.py", line 107, in get_ffi
include_dirs=[libgit2_include], library_dirs=[libgit2_lib])
File "/tmp/pip-build-hMIDbT/pygit2/.eggs/cffi-1.1.2-py2.7-linux-x86_64.egg/cffi/api.py", line 373, in verify
lib = self.verifier.load_library()
File "/tmp/pip-build-hMIDbT/pygit2/.eggs/cffi-1.1.2-py2.7-linux-x86_64.egg/cffi/verifier.py", line 97, in load_library
return self._load_library()
File "/tmp/pip-build-hMIDbT/pygit2/.eggs/cffi-1.1.2-py2.7-linux-x86_64.egg/cffi/verifier.py", line 207, in _load_library
return self._vengine.load_library()
File "/tmp/pip-build-hMIDbT/pygit2/.eggs/cffi-1.1.2-py2.7-linux-x86_64.egg/cffi/vengine_cpy.py", line 155, in load_library
raise ffiplatform.VerificationError(error)
cffi.ffiplatform.VerificationError: importing '/tmp/pip-build-hMIDbT/pygit2/pygit2/__pycache__/pygit2_cffi_3adedda7x2a59b7ee.so': libgit2.so.22: cannot open shared object file: No such file or directory
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-hMIDbT/pygit2
答案 0 :(得分:0)
如果你手动安装了libgit2,那么你需要确保你的操作系统在尝试加载它时知道在哪里找到它。在大多数系统中安装到/usr/local/
就足够了,但有时您必须运行sudo ldconfig
以便库加载程序识别更改。
如果您尚未将其安装在标准位置,则必须导出LD_LIBRARY_PATH
或硬编码pygit2模块中的路径。这相当于安装文档中的[{http://www.pygit2.org/install.html#libgit2-within-a-virtual-environment]虚拟环境中的(libgit2)。