Как получить локальный доступ к библиотекам в Nixos?

Как получить локальный доступ к библиотекам в Nixos?

Я некоторое время использую nixOS, но, перейдя с Ubuntu, у меня возникли трудности с бинарными зависимостями. Моя проблема в том, что я хочу установить psycopg2 в virtualenv. Этот пакет не является чисто python и ссылается на двоичные файлы postgres. Поэтому, когда я пытаюсь установить пакет, я получаю:

./psycopg/psycopg.h:31:22: fatal error: libpq-fe.h: No such file or directory

Вопрос в том, как сделать двоичные библиотеки и заголовочные файлы доступными для локальных установок, подобных этой?

решение1

Для разработки на Python я обычно использую комбинацию nix-shellи virtualenvконфигурацию.

% nix-shell -p pythonPackages.virtualenv postgresql
(nix-shell) % virtualenv env
(nix-shell) % ./env/bin/pip install psycopg2

Важная часть выше — вы устанавливаете postgresqlвместе с virtualenv

Некоторые пакеты, такие как Pillow, делают слишком много предположений о том, где должны находиться библиотеки, и вам может потребоваться использовать их pythonPackagesнапрямую.

Вас также может заинтересоватьpypi2nixкоторый может преобразовать ваш requirements.txtфайл в выражения nix. Если у вас возникнут проблемы, пожалуйста, напишите мне на IRC, я бы с удовольствием протестировал это.

Связанный контент