将 pip 包安装到 $HOME 文件夹
- 2025-03-05 09:17:00
- admin 原创
- 78
问题描述:
可以吗?安装时pip
,请安装文件夹内的 python 包$HOME
。(例如,我想mercurial
使用 来安装 ,pip
但在 里面$HOME
而不是/usr/local
)
我有一台 Mac 机器,刚刚想到了这种可能性,/usr/local
我不会“污染”我的,而是使用我的$HOME
。
PEP370就是关于这个的。仅仅创建一个˜/.local
并做一个pip install package
就足以让这些包只安装在我的 $HOME 文件夹中吗?
解决方案 1:
虽然您可以使用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核心开发人员对于 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/x.y/bin/hg
和$HOME/Library/Python/x.y/lib/python/site-packages
。
解决方案 2:
我会在你的 HOME 目录中使用 virtualenv。
$ sudo easy_install -U virtualenv
$ cd ~
$ virtualenv .
$ bin/pip ...
然后,您还可以进行更改~/.(login|profile|bash_profile)
,无论您的 shell 认为哪个合适,都可以将 ~/bin 添加到您的 PATH,然后它将pip|python|easy_install
成为默认使用的 PATH。
解决方案 3:
您可以指定-t
选项(--target
)来指定目标目录。请参阅pip install --help
以了解详细信息。这是您需要的命令:
pip install -t path_to_your_home package-name
例如,为了安装 mxnet,在我的$HOME
目录中,我输入:
pip install -t /home/foivos/ mxnet
解决方案 4:
从其他答案中摘取的两个问题的简短答案
一
是的
可以将 pip 包安装到$HOME而不是/usr/local/lib/,但是
二
mkdir ˜/.local # then
pip install package
还不够。
你需要
pip install package --user
并且软件包被安装到
/home/user/.local/lib/python3.x/site-packages
当你不需要时例外--user
如果你不是 root 用户
Debian
与Wsl
- Windows 子系统 Linux一起开启无提示在 Ubuntu 20.04 上注意 -除了 root 用户之外,其他用户无法写入
default to user installation because normal site-packages not writeable
默认配置/usr/lib
扫码咨询,免费领取项目管理大礼包!