PIP 安装无法找到 ffi.h,即使它可以识别 libffi
PIP install unable to find ffi.h even though it recognizes libffi
我已经在我的 Linux 服务器上安装了 libffi
,并将 PKG_CONFIG_PATH
环境变量正确设置为正确的目录,因为 pip
识别出它已安装;然而,当尝试安装 pyOpenSSL 时,pip 指出它找不到文件 'ffi.h'。我知道 ffi.h
及其目录都存在,那么我该如何缩小 ffi.h
和 pip
之间的差距?
您还需要安装开发包。
libffi-dev
Debian/Ubuntu,libffi-devel
Redhat/Centos/Fedora。
您可以在 pip
命令前使用 CFLAGS
(以及 LDFLAGS
或各种其他编译器和链接器选项)(同上 setup.py
):
类似下面的东西应该可以工作:
CFLAGS=-I/usr/include/libffi/include pip install pyOpenSSL
您需要安装 libffi
的开发包。
在基于 RPM 的系统(Fedora、Redhat、CentOS 等)上,包被命名为 libffi-devel
。
不确定 Debian/Ubuntu 系统,我敢肯定其他人会同意的。
pip
包通常不使用 pkg-config
。因此,您应该手动设置 CFLAGS
和 LDFLAGS
:
CFLAGS=$(pkg-config --cflags libffi) LDFLAGS=$(pkg-config --libs libffi) pip install pyOpenSSL
添加到 mhawke 的回答中,通常基于 Debian/Ubuntu 的系统是“-dev”而不是基于 RPM 的系统的“-devel”
因此,对于 Ubuntu 它将是 apt-get install libffi libffi-dev
RHEL、CentOS、Fedora(最高 v22) yum install libffi libffi-devel
软呢帽 23+ dnf install libffi libffi-devel
OSX/MacOS(假设安装了自制软件)brew install libffi
在 Debian 上,
apt-get install libffi-dev
在 CentOS 上:
yum install libffi-devel
Ubuntu/Mint
sudo apt-get install libffi6 libffi-dev
我已经在我的 Linux 服务器上安装了 libffi
,并将 PKG_CONFIG_PATH
环境变量正确设置为正确的目录,因为 pip
识别出它已安装;然而,当尝试安装 pyOpenSSL 时,pip 指出它找不到文件 'ffi.h'。我知道 ffi.h
及其目录都存在,那么我该如何缩小 ffi.h
和 pip
之间的差距?
您还需要安装开发包。
libffi-dev
Debian/Ubuntu,libffi-devel
Redhat/Centos/Fedora。
您可以在 pip
命令前使用 CFLAGS
(以及 LDFLAGS
或各种其他编译器和链接器选项)(同上 setup.py
):
类似下面的东西应该可以工作:
CFLAGS=-I/usr/include/libffi/include pip install pyOpenSSL
您需要安装 libffi
的开发包。
在基于 RPM 的系统(Fedora、Redhat、CentOS 等)上,包被命名为 libffi-devel
。
不确定 Debian/Ubuntu 系统,我敢肯定其他人会同意的。
pip
包通常不使用 pkg-config
。因此,您应该手动设置 CFLAGS
和 LDFLAGS
:
CFLAGS=$(pkg-config --cflags libffi) LDFLAGS=$(pkg-config --libs libffi) pip install pyOpenSSL
添加到 mhawke 的回答中,通常基于 Debian/Ubuntu 的系统是“-dev”而不是基于 RPM 的系统的“-devel”
因此,对于 Ubuntu 它将是 apt-get install libffi libffi-dev
RHEL、CentOS、Fedora(最高 v22) yum install libffi libffi-devel
软呢帽 23+ dnf install libffi libffi-devel
OSX/MacOS(假设安装了自制软件)brew install libffi
在 Debian 上,
apt-get install libffi-dev
在 CentOS 上:
yum install libffi-devel
Ubuntu/Mint
sudo apt-get install libffi6 libffi-dev