我通过在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(例如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环境?在
我想下面这些有充分记录的非常方便的方法对你的情况也有帮助。在
How to consume python modules using pip in a virtualenv like I am used to on other Operating Systems ?
相关问题 更多 >
编程相关推荐