首页 文章

将pip包安装到$ HOME文件夹

提问于
浏览
309

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

我正在使用mac机器,只是想到了这种可能性,而不是"polluting"我的 /usr/local ,我会使用我的 $HOME 代替 .

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

3 回答

  • 11

    虽然您可以使用 virtualenv ,但您不需要 . 诀窍是将PEP370 --user 参数传递给 setup.py 脚本 . 使用最新版本的 pip ,其中一种方法是:

    pip install --user mercurial
    

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

    注意,以上适用于Python 2.6 . Python核心开发人员中有一个bit of controversy,关于PEP370风格的 user 安装在Mac OS X上的适当目录位置是什么 . 在Python 2.7和3.2中,Mac OS X上的位置已从 $HOME/.local 更改为 $HOME/Library/Python . 这可能会在将来的版本中发生变化 . 但是,就目前而言,在2.7(和3.2,如果在Python 3上支持 hg ),上述位置将是 $HOME/Library/Python/x.y/bin/hg$HOME/Library/Python/x.y/lib/python/site-packages .

  • 432

    我会在你的HOME目录中使用virtualenv .

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

    然后你也可以改变 ~/.(login|profile|bash_profile) ,无论哪个适合你的shell将〜/ bin添加到你的PATH然后 pip|python|easy_install 将是默认使用的那个 .

  • 20

    您可以指定 -t 选项( --target )以指定目标目录 . 有关详细信息,请参阅 pip install --help . 这是您需要的命令:

    pip install -t path_to_your_home package-name
    

    例如,为了安装说mxnet,在我的 $HOME 目录中输入:

    pip install -t /home/foivos/ mxnet
    

相关问题