使用nix正确设置全局python环境

时间:2019-05-27 16:30:35

标签: python macos nix nixos

我通过在PC上使用nix而不是brew来熟悉nix。到目前为止,我非常喜欢它,但是python环境存在问题。我不知道如何正确配置它。

我正在使用powerline status,它本身是一个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来获得它,但是它也没有用。

在这两种情况下,它都由于缺少依赖项或版本不兼容而崩溃。

所以,我的问题是:如何使用nix正确设置全局python环境?

1 个答案:

答案 0 :(得分:1)

我猜想遵循有据可查的非常方便的方法也可以为您提供帮助。

How to consume python modules using pip in a virtualenv like I am used to on other Operating Systems ?