如何安装没有root权限的python模块?

我正在参加一些大​​学课程,并获得了一个“教学账户”,这是一个我可以参加工作的学校账户。 我想在该机器上运行我的计算密集型Numpy,matplotlib,scipy代码,但是我不能安装这些模块,因为我不是系统pipe理员。

我怎样才能安装?

在大多数情况下,最好的解决scheme是依靠所谓的“用户站点”位置(请参阅PEP的详细信息)运行:

pip install --user package_name 

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


通过easy_install你可以做到:

 easy_install --prefix=$HOME/local package_name 

这将安装到

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

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

您将需要手动创build

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

并将其添加到您的PYTHONPATH环境variables(否则easy_install会抱怨 – btw运行上面的命令一次findXY的正确值)。

如果您不使用easy_install ,请查找前缀选项,大多数安装脚本可让您指定一个。

随着点可以使用:

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

您还可以创build一个python virtualenvhttps://pypi.python.org/pypi/virtualenv ),特别是在没有权限访问和安装easy_install命令时。

在shell中执行3个命令就足够了:

 $ curl -O https://raw.github.com/pypa/virtualenv/master/virtualenv.py $ python 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

为此,请在您的主目录中创build一个.pydistutils.cfg文件:

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

现在,您可以在没有root权限的情况下运行easy_install:

 easy_install boto 

或者,这也可以让你无需root权限即可运行pip:

 pip install boto 

这对我有用。

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

如果您必须使用distutils setup.py脚本,则有一些强制安装目标的命令行选项。 请参阅http://docs.python.org/install/index.html#alternate-installation 。 如果此问题重复,则可以设置distutilsconfiguration文件,请参阅http://docs.python.org/install/index.html#inst-config-files

在tihos文章中描述了设置PYTHONPATHvariables。

重要的问题。 我使用的服务器(Ubuntu 12.04)有easy_install3但不是pip3 。 这是我如何安装PIP,然后其他包到我的家庭文件夹

  1. 问pipe理员安装Ubuntu软件包python3-setuptools

  2. 安装点子

喜欢这个:

  easy_install3 --prefix=$HOME/.local pip mkdir -p $HOME/.local/lib/python3.2/site-packages easy_install3 --prefix=$HOME/.local pip 
  1. 将点(和其他Python应用程序添加到path)

喜欢这个:

 PATH="$HOME/.local/bin:$PATH" echo PATH="$HOME/.local/bin:$PATH" > $HOME/.profile 
  1. 安装Python包

喜欢这个

 pip3 install --user httpie # test httpie package http httpbin.org 

我使用JuJu ,它基本上允许在你的$ HOME / .juju目录中有一个非常小的Linux发行版(只包含软件包pipe理器)。

它允许您的自定义系统通过proot访问主目录,因此,您可以安装任何没有root权限的软件包。 它可以正常运行在所有主要的linux发行版上,唯一的限制是JuJu可以在Linux内核上运行,最小的版本为2.6.32。

例如,安装好JuJu后安装pip只需键入如下内容:

 $>juju -f (juju)$> pacman -S python-pip (juju)> pip 

最好和最简单的方法是这个命令:

 pip install --user package_name 

http://www.lleess.com/2013/05/how-to-install-python-modules-without.html#.WQrgubyGOnc