Я знакомлюсь с 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?