我正在安装用于加密和Jasmin安装的cffi包。
我在发布问题之前做了一些研究,所以我找到了以下选项,但似乎无效:
Mac OSx 10.9.5
python2.7
c/_cffi_backend.c:13:10: fatal error: 'ffi.h' file not found
#include <ffi.h>
^
1 warning and 1 error generated.
请指导我以下问题。
由于
env DYLD_LIBRARY_PATH = / usr / local / opt / openssl / lib / ARCHFLAGS =&#34; -Wno-error = unused-command-line-argument-hard-error-in-future&#34; LDFLAGS =&#34; -L / USR /本地的/ opt / OpenSSL的/ lib中&#34; CFLAGS =&#34; -I / USR /本地的/ opt / OpenSSL的/包括&#34; sudo -E pip install cffi
bhushanvaiude$ env DYLD_LIBRARY_PATH=/usr/local/opt/openssl/lib/ ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" sudo -E pip install cffi
Password:
Downloading/unpacking cffi
Downloading cffi-0.8.6.tar.gz (196kB): 196kB downloaded
Running setup.py egg_info for package cffi
warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
1 warning generated.
Downloading/unpacking pycparser (from cffi)
Downloading pycparser-2.10.tar.gz (206kB): 206kB downloaded
Running setup.py egg_info for package pycparser
Installing collected packages: cffi, pycparser
Running setup.py install for cffi
warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
1 warning generated.
building '_cffi_backend' extension
cc -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -I/usr/local/opt/openssl/include -Qunused-arguments -pipe -Wno-error=unused-command-line-argument-hard-error-in-future -DUSE__THREAD -I@@HOMEBREW_CELLAR@@/libffi/3.0.13/lib/libffi-3.0.13/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c c/_cffi_backend.c -o build/temp.macosx-10.9-intel-2.7/c/_cffi_backend.o
warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
c/_cffi_backend.c:13:10: fatal error: 'ffi.h' file not found
#include <ffi.h>
^
1 warning and 1 error generated.
error: command 'cc' failed with exit status 1
Complete output from command /Users/****project path***/bin/python -c "import setuptools;__file__='/Users/****project path***/build/cffi/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/7w/8z_mn3g120n34bv0w780gnd00000gn/T/pip-e6d6Ay-record/install-record.txt --single-version-externally-managed --install-headers /Users/****project path***/include/site/python2.7:
warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
1 warning generated.
running install
running build
running build_py
creating build
creating build/lib.macosx-10.9-intel-2.7
creating build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/__init__.py -> build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/api.py -> build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/backend_ctypes.py -> build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/commontypes.py -> build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/cparser.py -> build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/ffiplatform.py -> build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/gc_weakref.py -> build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/lock.py -> build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/model.py -> build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/vengine_cpy.py -> build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/vengine_gen.py -> build/lib.macosx-10.9-intel-2.7/cffi
copying cffi/verifier.py -> build/lib.macosx-10.9-intel-2.7/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.macosx-10.9-intel-2.7
creating build/temp.macosx-10.9-intel-2.7/c
cc -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -I/usr/local/opt/openssl/include -Qunused-arguments -pipe -Wno-error=unused-command-line-argument-hard-error-in-future -DUSE__THREAD -I@@HOMEBREW_CELLAR@@/libffi/3.0.13/lib/libffi-3.0.13/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c c/_cffi_backend.c -o build/temp.macosx-10.9-intel-2.7/c/_cffi_backend.o
warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
c/_cffi_backend.c:13:10: fatal error: 'ffi.h' file not found
#include <ffi.h>
^
1 warning and 1 error generated.
error: command 'cc' failed with exit status 1
----------------------------------------
Cleaning up...
答案 0 :(得分:27)
在你的终端试试并运行:
xcode-select --install
之后再尝试安装包。
默认情况下,XCode将自身安装为IDE,并且不会设置供命令行工具使用的环境。例如,/usr/include
文件夹将丢失。
运行上述命令将安装从命令行运行编译所需的工具,并创建所需的符号链接。由于Python包使用XCode的命令行界面编译本机代码部分,因此需要执行此步骤来安装包含本机组件的Python包。
每次XCode安装/升级时,或者如果发现类似错误,您只需执行此操作一次。
答案 1 :(得分:13)
安装libffi包
$ brew install pkg-config libffi
然后安装cffi
$ pip install cffi
来源:Error installing bcrypt with pip on OS X: can't find ffi.h (libffi is installed)
答案 2 :(得分:0)
在终端中运行以下命令解决了我的问题。
xcode-select --install