通过在我的 Mac 上使用 nix 而不是 brew,我逐渐熟悉了它。到目前为止我非常喜欢它,但是 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
获取它,但它无法与 set PYTHONPATH
一起使用。
我尝试使用 pip install --user awscli
获取它,但它也不起作用。
在这两种情况下,它都因为缺少依赖项或版本不兼容而崩溃。
所以,我的问题是:如何使用 nix 正确设置全局 python 环境?
最佳答案
我想遵循有据可查的非常方便的方法对您的情况也有帮助。
10.09.2020 更新:
Developing Python with Poetry & Poetry2nix: Reproducible flexible Python environments描述了另一种在 NixOS 上使用 python 的方法。
关于python - 使用 nix 正确设置全局 python 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56329631/