我如何使用pip在$ HOME文件夹中安装软件包?

可能吗? 安装pip ,在我的$HOME文件夹中安装python软件包。 (例如,我想安装mercurial ,使用pip ,但在$HOME里面而不是/usr/local

我与一台Mac机器,只是想到这种可能性,而不是“污染”我的/usr/local ,我会使用我的$HOME

PEP370就是这个。 只是创build一个˜/.local并做一个pip install package足以使这些包只能安装在我的$ HOME文件夹?

虽然你可以使用一个virtualenv ,你不需要。 诀窍是将PEP370 – 用户parameter passing给setup.py脚本。 随着最新版本的pip ,一种方法是:

 pip install --user mercurial 

这应该导致在$HOME/.local/bin/hg中安装hg脚本,并在$HOME/.local/lib/pythonx.y/site-packages/中安装hg软件包的其余部分。

请注意,Python 2.6的上述情况是正确的。 Python核心开发人员对于Mac OS X上用于PEP370风格的user安装的适当目录位置存在一些争议 。 在Python 2.7和3.2中,Mac OS X上的位置从$HOME/.local更改为$HOME/Library/Python 。 这可能会在未来的版本中发生变化。 但是,现在,在2.7(和3.2,如果hg在Python 3上支持),上述位置将是$HOME/Library/Python/xy/bin/hg$HOME/Library/Python/xy/lib/python/site-packages

我会在你的HOME目录下使用virtualenv。

 $ sudo easy_install -U virtualenv $ cd ~ $ virtualenv . $ bin/pip ... 

然后你可以改变~/.(login|profile|bash_profile) ,无论哪一个是正确的,以便将〜/ bin添加到你的PATH中,然后默认使用pip|python|easy_install