
Estou usando o nixOS há algum tempo, mas vindo do Ubuntu tenho dificuldade com dependências binárias. Meu problema é que quero instalar o psycopg2 em um virtualenv. Este pacote não é puro python e está vinculado a binários do postgres. Então, quando tento instalar o pacote, recebo:
./psycopg/psycopg.h:31:22: fatal error: libpq-fe.h: No such file or directory
A questão é: como disponibilizar as bibliotecas binárias e os arquivos de cabeçalho para instalações locais como esta?
Responder1
Para desenvolvimento em python, geralmente uso combinação nix-shell
e virtualenv
configuração.
% nix-shell -p pythonPackages.virtualenv postgresql
(nix-shell) % virtualenv env
(nix-shell) % ./env/bin/pip install psycopg2
A parte importante acima é que você instala postgresql
junto com o virtualenv
Alguns pacotes, como o Pillow, fazem muitas suposições sobre onde as bibliotecas deveriam estar e você pode precisar usá-las pythonPackages
diretamente.
Você também pode estar interessado empypi2nixque pode converter seu requirements.txt
arquivo em expressões nix. se você ficar preso, por favor, envie-me um ping no irc, eu adoraria testá-lo.