2015-07-20 14 views
44

Ho installato libffi sul mio server Linux e ho impostato correttamente la variabile di ambiente PKG_CONFIG_PATH nella directory corretta, poiché pip riconosce che è installato; tuttavia, quando si tenta di installare pyOpenSSL, pip dichiara di non poter trovare il file "ffi.h". So sia che ffi.h esiste sia la sua directory, quindi come faccio a chiudere questo intervallo tra ffi.h e pip?Installazione PIP impossibile trovare ffi.h anche se riconosce libffi

+0

se si sta facendo questo per l'installazione sconnesso, seguire questo tutorial https://clasense4.wordpress.com/2015/ 11/25/how-to-install-scrapy-on-centos-7/ –

risposta

9

È possibile utilizzare CFLAGS (e LDFLAGS o varie altre opzioni del compilatore e linker) davanti al comando pip (idem per setup.py):

Qualcosa di simile alla seguente dovrebbe funzionare:

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

Perfetto! Grazie, ha funzionato. – DonutGaz

140

È necessario installare anche il pacchetto di sviluppo.

libffi-dev su Debian/Ubuntu, libffi-devel su Redhat/Centos/Fedora.

+6

Questa è la risposta che risolve questo problema! –

+2

Si noti che l'OP indica "So sia che ffi.h esiste sia la sua directory", indicando che lo sviluppo √ersion (intestazioni) è già installato. Quindi questa risposta risolve un altro problema. – Evert

1

È necessario installare il pacchetto di sviluppo per libffi.

Sui sistemi basati su RPM (Fedora, RedHat, CentOS, ecc.) Il pacchetto è denominato libffi-devel.

Non sono sicuro dei sistemi Debian/Ubuntu, sono sicuro che qualcun altro lo saprà.

2

pip i pacchetti di solito non utilizzano pkg-config. Pertanto, è necessario impostare CFLAGS e LDFLAGS manualmente:

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

Per aggiungere mhawke di risposta, i sistemi basati su di solito il Debian/Ubuntu sono "-dev" piuttosto che "-devel" per i sistemi basati su RPM

Così , per Ubuntu sarà apt-get install libffi libffi-dev

RHEL, CentOS, Fedora (fino a V22)yum install libffi libffi-devel

Fedora 23+dnf install libffi libffi-devel

OSX/MacOS (homebrew supponendo che è installato) brew install libffi

Problemi correlati