No se encontró el paquete 'libffi' en el entorno virtual de Homebrew

4

Estoy usando una instalación casera de python y obtengo un error al usar pip en un entorno virtualenvwrapper :

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

Homebrew tiene una fórmula para libffi ( brew install libffi ), que parece tener éxito.

Puedo correr

$ python-config --include

que produce:

-I/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/include/python2.7

¿Entonces debería "agregar el directorio que contiene 'libffi.pc'"?

echo $PKG_CONFIG_PATH produce una cadena vacía.

[Alguien en SO había recomendado] [3]:

Use -I /opt/local/include on the command line 

o

C_INCLUDE_PATH=/opt/local/include in the environment.

¿Agregaría la línea?

C_INCLUDE_PATH=/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/include/python2.7

a ~/.bash_profile ?

o posiblemente export PKG_CONFIG_PATH=/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/include/python2.7

    
pregunta MikeiLL 29.01.2015 - 20:18

2 respuestas

7

Lo descubrí.

brew install libffi

locate libffi.pc

(en este caso, también tuve que ejecutar el comando para crear la base de datos de localización, para la cual el código se incluyó en el indicador de la ubicación)

devolvió /usr/local/Cellar/libffi/3.0.13/lib/pkgconfig/libffi.pc

Luego dentro de virtualenv ejecutó export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.0.13/lib/pkgconfig/ (la ruta a libffi.pc ).

Confirmado con echo $PKG_CONFIG_PATH , que mostró la ruta.

Y pip "¡Instaló con éxito" los módulos!

En caso de que sea útil, así es como funcionó el entorno virtualenvwrapper:

He agregado los siguientes contenidos a los archivos ~/.bash_profile y ~/.bashrc :

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
export PATH=/usr/local/bin:$PATH

Según este tutorial .

    
respondido por el MikeiLL 29.01.2015 - 20:34
3

FWIW, tuve que usar export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.0.13/lib/pkgconfig/ para que esto funcionara. El mismo comando, pero solo el directorio en lugar del propio archivo libffi.pc.

    
respondido por el Eric C. 21.08.2015 - 18:29

Lea otras preguntas en las etiquetas