Como acessar libs localmente em nixos?

Como acessar libs localmente em nixos?

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-shelle virtualenvconfiguraçã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 postgresqljunto com o virtualenv

Alguns pacotes, como o Pillow, fazem muitas suposições sobre onde as bibliotecas deveriam estar e você pode precisar usá-las pythonPackagesdiretamente.

Você também pode estar interessado empypi2nixque pode converter seu requirements.txtarquivo em expressões nix. se você ficar preso, por favor, envie-me um ping no irc, eu adoraria testá-lo.

informação relacionada