我已经在我的Linux服务器上安装了libffi
,并且正确地将PKG_CONFIG_PATH
环境变量设置为正确的目录,因为pip
识别出它已安装;但是,在尝试安装pyOpenSSL时,pip声明它无法找到文件' ffi.h'。我知道ffi.h
及其目录都存在,那么如何缩小ffi.h
和pip
之间的差距?
答案 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
。因此,您应手动设置CFLAGS
和LDFLAGS
:
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