
Estoy usando nixOS por un tiempo, pero viniendo de Ubuntu me cuesta mucho con las dependencias binarias. Mi problema es que quiero instalar psycopg2 en un virtualenv. Este paquete no es exclusivamente de Python y se vincula a los binarios de Postgres. Entonces, cuando intento instalar el paquete, aparece:
./psycopg/psycopg.h:31:22: fatal error: libpq-fe.h: No such file or directory
La pregunta es: ¿cómo hacer que las bibliotecas binarias y los archivos de encabezado estén disponibles para instalaciones locales como esta?
Respuesta1
Para el desarrollo de Python suelo utilizar la combinación de nix-shell
y virtualenv
configuración.
% nix-shell -p pythonPackages.virtualenv postgresql
(nix-shell) % virtualenv env
(nix-shell) % ./env/bin/pip install psycopg2
La parte importante anterior es la instalación postgresql
junto con virtualenv.
Algunos paquetes, como Pillow, hacen demasiadas suposiciones sobre dónde deberían estar las bibliotecas y es posible que necesites usarlas directamente pythonPackages
.
Quizás también te interesepypi2nixque puede convertir su requirements.txt
archivo a expresiones nix. Si te quedas atascado, envíame un ping a irc. Me encantaría probarlo.