pip install——help:

--user  Install to the Python user install directory for your platform. 
        Typically ~/.local/, or %APPDATA%\Python on Windows. 
        (See the Python documentation for site.USER_BASE for full details.)

现场文档。USER_BASE是一个有趣的*NIX主题的可怕虫洞,我不理解。

简单地说,用户的目的是什么?为什么要安装到~/。本地/重要吗?为什么不把一个可执行文件放在我的$PATH中?


当前回答

为什么要安装包到~/。本地/重要吗? 为什么不把一个可执行文件放在我的$PATH中?

~ /。local/bin目录理论上应该在$PATH中。

根据这些人的说法,在使用systemd时,没有在$PATH中添加它是一个错误。

这个答案更广泛地解释了它。

但是即使你的发行版包含了~/。到$PATH,它可能是以下形式(在~/.profile中):

if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

这将要求您在第一次创建目录时注销并再次登录。

其他回答

pip默认将Python包安装到系统目录(例如/usr/local/lib/python3.4)。这需要root访问权限。

——user让PIP在你的主目录下安装包,这不需要任何特殊权限。

为什么要安装包到~/。本地/重要吗? 为什么不把一个可执行文件放在我的$PATH中?

~ /。local/bin目录理论上应该在$PATH中。

根据这些人的说法,在使用systemd时,没有在$PATH中添加它是一个错误。

这个答案更广泛地解释了它。

但是即使你的发行版包含了~/。到$PATH,它可能是以下形式(在~/.profile中):

if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

这将要求您在第一次创建目录时注销并再次登录。

其他答案提到了网站。USER_SITE作为存放Python包的位置。如果您正在寻找二进制文件,则将它们放在{site.USER_BASE}/bin中。

如果你想把这个目录添加到你的shell的搜索路径,使用:

export PATH="${PATH}:$(python3 -c 'import site; print(site.USER_BASE)')/bin"

最好的方法是安装virtualenv,而不需要——用户的困惑。您将获得更多的灵活性,而不必担心每次安装包时都会破坏不同的python版本和项目。

https://virtualenv.pypa.io/en/stable/

如果你正在使用自己的conda env,不要使用——user。如果你正在使用conda env,使用——user在你的家里安装pkgs ~/.local/lib/。