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

时间:2015-07-20 03:54:51

标签: python linux pip

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

8 个答案:

答案 0 :(得分:202)

您还需要安装开发包。

Debian / Ubuntu上的

libffi-devel,Redhat / Centos / Fedora上的<?php while ($row=mysql_fetch_array($result)){ ?>

答案 1 :(得分:18)

要添加到mhawke的答案,通常基于Debian / Ubuntu的系统对于基于RPM的系统是“-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

答案 2 :(得分:15)

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

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

CFLAGS=-I/usr/include/libffi/include pip install pyOpenSSL

答案 3 :(得分:3)

pip个包通常不使用pkg-config。因此,您应手动设置CFLAGSLDFLAGS

CFLAGS=$(pkg-config --cflags libffi) LDFLAGS=$(pkg-config --libs libffi) pip install pyOpenSSL

答案 4 :(得分:3)

在Debian上,

apt-get install libffi-dev

答案 5 :(得分:1)

您需要安装libffi的开发包。

在基于RPM的系统(Fedora,Redhat,CentOS等)上,程序包名为libffi-devel

不确定Debian / Ubuntu系统,我相信其他人会对此进行说明。

答案 6 :(得分:1)

在CentOS上:

yum install libffi-devel

答案 7 :(得分:0)

Ubuntu /薄荷

sudo apt-get install libffi6 libffi-dev