Настройте глобальную среду Python с помощью nix - PullRequest
0 голосов
/ 27 мая 2019

Я знакомлюсь с nix, используя его вместо brew на моем Mac. Пока мне это нравится, но есть проблема со средой python. Я не могу понять, как правильно его настроить.

Я использую статус линии электропередачи , который сам является пакетом Python, но также доступен как деривация (nixpkgs.python37Packages.powerline). Итак, я установил его вместе с python и некоторыми другими пакетами:

# file: python.nix
with import <nixpkgs> {};
python3.withPackages (ps: with ps; [ pip pipenv powerline ipython ])

Это работает, как ожидалось.

Однако я также использую некоторые дополнительные сегменты для линии электропередачи (например, powerline-gitstatus ), которые недоступны в качестве дериваций. Итак, я только что установил их через pip install --user .... И затем установите PYTHONPATH=$HOME/.local/lib/python3.7/site-packages.

Это тоже работает.

Кроме того, мне нужно иметь awscli, который представляет собой пакет Python и доступен в качестве автономного деривации (не nixpkgs.python37Packages.awscli), поэтому я не могу установить его как часть моего пользовательского деривации Python, поскольку Я понимаю.

Я пытался получить его с nix-env -i awscli, но он не работал вместе с набором PYTHONPATH.

Я пытался получить его с pip install --user awscli, но он тоже не работал.

В обоих случаях произошел сбой из-за отсутствия зависимостей или несовместимости версий.

Итак, мой вопрос: как правильно настроить глобальную среду Python с помощью nix?

1 Ответ

1 голос
/ 10 июня 2019

Я думаю, что следующий хорошо документированный и очень удобный подход мог бы помочь и в вашем случае.

Как использовать модули python с использованием pip в virtualenv, как я привык в других операционных системах?

...