如何在没有根访问权限的情况下安装python模块?

2024-04-20 09:13:41 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

即使没有根访问权限,也可以运行easy_install在主目录中安装python包。有一种使用site.USER_BASE的标准方法,它默认为$HOME/.local或$HOME/Library/Python/2.7/bin,默认情况下包含在PYTHONPATH上

为此,请在主目录中创建.pydistutils.cfg:

cat > $HOME/.pydistutils.cfg <<EOF
[install]
user=1
EOF

现在您可以在没有根权限的情况下运行easy_安装:

easy_install boto

或者,这还允许您在没有根访问权限的情况下运行pip:

pip install boto

这对我有用。

来源于Wesley Tanaka的博客:http://wtanaka.com/node/8095

在大多数情况下,最好的解决方案是通过运行以下命令来依赖所谓的“用户站点”位置(有关详细信息,请参见PEP):

pip install --user package_name

下面是一个更“手动”的方式从我原来的答案,你不需要阅读它,如果上面的解决方案为你工作。


使用easy_安装,您可以:

easy_install --prefix=$HOME/local package_name

将安装到

$HOME/local/lib/pythonX.Y/site-packages

(“本地”文件夹是许多人使用的典型名称,但您当然可以指定您有权写入的任何文件夹)。

您需要手动创建

$HOME/local/lib/pythonX.Y/site-packages

并将其添加到您的PYTHONPATH环境变量中(否则easy_install会有问题——顺便运行上面的命令一次,以找到X.Y的正确值)。

如果不使用easy_install,请查找前缀选项,大多数安装脚本都允许您指定前缀选项。

对于pip,您可以使用:

pip install --install-option="--prefix=$HOME/local" package_name

没有访问或安装easy_install的权限?

然后,您可以创建一个pythonvirtualenvhttps://pypi.python.org/pypi/virtualenv)并从这个虚拟环境安装包。

在shell中执行4个命令就足够了(为X.X.X插入16.1.0这样的当前版本):

$ curl --location --output virtualenv-X.X.X.tar.gz https://github.com/pypa/virtualenv/tarball/X.X.X
$ tar xvfz virtualenv-X.X.X.tar.gz
$ python pypa-virtualenv-YYYYYY/src/virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install package_name

来源和更多信息:https://virtualenv.pypa.io/en/latest/installation/

相关问题 更多 >