How to install python modules without root access?
我正在上一些大学课程并获得了一个"教学账户",这是一个我可以用来做工作的学校账户。 我想在那台机器上运行我的计算密集型Numpy,matplotlib,scipy代码,但我无法安装这些模块,因为我不是系统管理员。
我该怎么做安装?
在大多数情况下,最佳解决方案是依靠所谓的"用户站点"位置(请参阅PEP了解详细信息):
1 | pip install --user package_name |
以下是我原始答案中更"手动"的方式,如果上述解决方案适合您,则无需阅读。
使用easy_install,您可以:
1 | easy_install --prefix=$HOME/local package_name |
将安装到
1 | $HOME/local/lib/pythonX.Y/site-packages |
('local'文件夹是许多人使用的典型名称,但当然您可以指定您有权写入的任何文件夹)。
您需要手动创建
1 | $HOME/local/lib/pythonX.Y/site-packages |
并将其添加到
如果您不使用
使用pip你可以使用:
1 | pip install --install-option="--prefix=$HOME/local" package_name |
无权访问或安装
然后,您可以创建一个python
在shell中执行4个命令就足够了(为X.X.X插入当前版本,如16.1.0):
1 2 3 4 5 | $ 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/
即使没有root访问权限,也可以运行easy_install在主目录中安装python包。有一种标准方法可以使用site.USER_BASE来执行此操作,默认为$ HOME / .local或$ HOME / Library / Python / 2.7 / bin,默认情况下包含在PYTHONPATH中
为此,请在主目录中创建.pydistutils.cfg:
1 2 3 4 | cat > $HOME/.pydistutils.cfg <<EOF [install] user=1 EOF |
现在,您可以在没有root权限的情况下运行easy_install:
1 | easy_install boto |
或者,这也允许您在没有root访问权限的情况下运行pip:
1 | pip install boto |
这适合我。
来自Wesley Tanaka的博客来源:http://wtanaka.com/node/8095
如果必须使用distutils
在tihos post中描述了设置PYTHONPATH变量。
重要的问题。我使用的服务器(Ubuntu 12.04)有
要求管理员安装Ubuntu软件包
安装点子
像这样:
1 2 3 | easy_install3 --prefix=$HOME/.local pip mkdir -p $HOME/.local/lib/python3.2/site-packages easy_install3 --prefix=$HOME/.local pip |
像这样:
1 2 | PATH="$HOME/.local/bin:$PATH" echo PATH="$HOME/.local/bin:$PATH"> $HOME/.profile |
像这样
1 2 3 4 | pip3 install --user httpie # test httpie package http httpbin.org |
我使用JuJu,它基本上允许在$ HOME / .juju目录中有一个非常小的linux发行版(仅包含包管理器)。
它允许通过proot访问主目录中的自定义系统,因此,您可以安装任何没有root权限的软件包。它将适用于所有主要的Linux发行版,唯一的限制是JuJu可以在Linux内核上以最小的推荐版本2.6.32运行。
例如,在安装了JuJu安装pip后,只需输入以下内容:
1 2 3 | $>juju -f (juju)$> pacman -S python-pip (juju)> pip |
最好和最简单的方法是这个命令:
1 | pip install --user package_name |
http://www.lleess.com/2013/05/how-to-install-python-modules-without.html#.WQrgubyGOnc
在本地安装virtualenv(指令源):
重要说明:为X.X.X插入当前版本(如16.1.0)。
检查解压缩文件的名称并将其插入YYYYY。
1 2 3 | $ curl -L -o virtualenv.tar.gz https://github.com/pypa/virtualenv/tarball/X.X.X $ tar xfz virtualenv.tar.gz $ python pypa-virtualenv-YYYYY/src/virtualenv.py env |
在使用或安装任何软件包之前,您需要
1 | $ source env/bin/activate |
要安装新的python包(如numpy),请使用:
1 | (env)$ pip install <package> |