我正在尝试运行与专有软件安装相关的setup.py,它依赖于libffi。
由于它的Redhat 6.5,python版本是2.6,我安装了python 2.7。
已经安装了libffi,当我创建virtualenv并尝试通过运行setup.py来安装软件时,我收到以下错误:
No package 'libffi' found
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
c/_cffi_backend.c:15:17: error: ffi.h: No such file or directory
In file included from c/_cffi_backend.c:63:
yum list libffi
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Installed Packages
libffi.x86_64 3.0.5-3.2.el6 @anaconda-RedHatEnterpriseLinux-201311111358.x86_64/6.5
Available Packages
libffi.i686 3.0.5-3.2.el6 rhel-local
我的查询是如何修改pkg-config搜索路径。 指向libffi.pc?
答案 0 :(得分:14)
安装后尝试:
sudo apt-get install libffi6 libffi-dev
答案 1 :(得分:7)
您将需要libffi的开发版本来安装依赖于libffi的库:
sudo yum install libffi-devel
这对我有用
答案 2 :(得分:2)
我在MacOS上也遇到了同样的问题。我认为解决方案应该相似。
nano ~/.bash_profile
将下面两行添加到bash_profile的末尾,以便可以发现它
export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
export LDFLAGS="-L/usr/local/opt/libffi/lib"
保存并退出并重新启动终端
答案 3 :(得分:0)
对于我而言,未安装 libffi 。因此,以下命令解决了该问题。
sudo apt-get install libffi6 libffi-dev
感谢Harun-Ur-Rashid
答案 4 :(得分:0)
在使用pip3安装paramiko时遇到了类似的问题:
$ pip3安装paramiko
错误:
在pkg-config搜索路径中找不到软件包libffi。 也许您应该添加包含“ libffi.pc”的目录 到PKG_CONFIG_PATH环境变量 找不到软件包“ libffi”
未找到软件包“ libffi” c / _cffi_backend.c:15:17:致命错误:ffi.h:没有此类文件或目录 编译终止。
distutils.errors.DistutilsExecError:命令'x86_64-linux-gnu-gcc'失败,退出状态为1
解决方案:
$ sudo apt-get install libffi-dev
$ pip3 install paramiko
成功安装了asn1crypto bcrypt cffi cryptography-1.2.3 paramiko-1.16.0 pycparser pynacl six-1.10.0
答案 5 :(得分:0)
我正在使用python 3.8,而wheel尝试在conda环境中设置cffi时遇到了相同的错误。我尝试安装libffi和libffi-dev(然后每次退出时都退出终端并重新激活环境!),但是没有运气。然后,我认为也许将python降级到3.7可能会解决问题。我是在conda环境中做到这一点的(只需激活环境并运行conda install python = 3.7,然后发现所有突然的libffi!wheel能够设置cffi,并且所有功能都像魅力一样!
答案 6 :(得分:0)
尝试
sudo apt-get install -y python3-cffi