9

每次尝试设置 pygit2 时,我都会遇到一个奇怪的问题。以下是我运行的内容和生成的错误。

$ python3 setup.py install
running install
running build
running build_py
running build_ext
building '_pygit2' extension
/usr/bin/clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Os -w -pipe -march=native -Qunused-arguments -mmacosx-version-min=10.7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/include -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/lib -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/include -I/usr/local/include -Iinclude -I/usr/local/Cellar/python3/3.2.3/include/python3.2m -c src/pygit2.c -o build/temp.macosx-10.7-x86_64-3.2/src/pygit2.o
In file included from src/pygit2.c:32:
include/pygit2/error.h:6:10: fatal error: 'git2.h' file not found
#include <git2.h>
         ^
1 error generated.
error: command '/usr/bin/clang' failed with exit status 1

我想我已经成功安装了 libgit2(构建和制作完成得很好)。也许这是一个路径问题?我已将 LIBGIT2 环境变量设置为 libgit2 文件夹中的 src 目录。那是正确的地方吗?

4

4 回答 4

4

我从未安装过libgit2,但以下可能会有所帮助:

如果您的发行版存储库包含 libgit2,我建议您删除之前编译的内容并从存储库中安装 libgit2(二进制文件)和 libgit2-dev(头文件等)包。这会将二进制文件和源代码放置到正确的目录中。

否则,尝试符号链接git2.h/usr/local/include

于 2012-06-26T23:33:21.170 回答
2

看起来LIBGIT2变量不像额外的 include 指令使用的那样(你能展示你是如何设置变量的吗?)/usr/local/include(这是默认值)。

LIBGIT2env var 需要设置为安装库的前缀,通常是/usr/usr/local/usr/local由于编译器找不到该库,因此该库看起来不像已安装,因此您可能需要export LIBGIT2=/usr在运行setup.py.

于 2012-06-27T21:27:30.310 回答
0

嗨,您必须在 macOS 上,这是我解决问题的方法:

brew install gitlib2

如果这不起作用,Permission denied @ dir_s_mkdir 只需运行以下命令

 sudo chown -R $(whoiam) $(brew --prefix)/*
于 2022-02-04T23:03:22.827 回答
0

以下步骤对我有用:

brew install libgit2 
于 2022-02-16T10:22:47.223 回答