PIP安装无法找到ffi.h,即使它识别libffi

Don*_*Gaz 67 python linux pip

我已经安装libffi在我的Linux服务器上,并正确地将PKG_CONFIG_PATH环境变量设置为正确的目录,因为pip它识别出它已安装; 但是,在尝试安装pyOpenSSL时,pip声明它无法找到文件'ffi.h'.我知道它既ffi.h存在又存在其目录,那么如何缩小ffi.h和之间的差距pip

Len*_*bro 228

您还需要安装开发包.

libffi-dev在Debian/Ubuntu上,libffi-devel在Redhat/Centos/Fedora上.

  • 这个答案实际上解决了这个问题! (8认同)
  • 请注意,OP指出"我知道ffi.h及其目录都存在",表明已经安装了开发√ersion(头文件).所以这个答案解决了另一个问题. (6认同)
  • `apk add libffi-dev` 在 Alpine 3.11.6 上为我工作。谢谢 (5认同)

小智 19

为了增加mhawke的答案,对于基于RPM的系统,通常基于Debian/Ubuntu的系统是"-dev"而不是"-devel"

所以,对于Ubuntu来说,它将是apt-get install libffi libffi-dev

RHEL,CentOS,Fedora(最高为v22) yum install libffi libffi-devel

Fedora 23+ dnf install libffi libffi-devel

OSX/MacOS(假设安装了自制程序)brew install libffi

  • 对于ubuntu,现在是libffi6。 (2认同)

小智 17

您可以在命令前面使用CFLAGS(和/ LDFLAGS或各种其他编译器和链接器选项)pip(同上setup.py):

类似于以下内容应该有效:

CFLAGS=-I/usr/include/libffi/include pip install pyOpenSSL
Run Code Online (Sandbox Code Playgroud)

  • 这对我没有用,而是安装了“ libffi-dev”。 (4认同)

小智 5

Ubuntu/薄荷

sudo apt-get install libffi6 libffi-dev 
Run Code Online (Sandbox Code Playgroud)