我正在上一些大学课程,并获得了一个“教学帐户”,这是一个学校帐户,我可以通过ssh登录来工作。我想在那台机器上运行计算密集型Numpy、matplotlib和scipy代码,但我不能安装这些模块,因为我不是系统管理员。

如何安装?


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

pip install --user package_name

下面是我最初回答的一个更“手动”的方法,如果上面的解决方案对你有效,你就不需要阅读它。


使用easy_install你可以做到:

easy_install --prefix=$HOME/local package_name

它会安装到

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

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

您将需要手动创建

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

并将其添加到PYTHONPATH环境变量中(否则easy_install会报错——btw运行一次上面的命令,为X.Y找到正确的值)。

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

pip可以使用:

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

如果必须使用distutils setup.py脚本,可以使用一些命令行选项强制安装目标。见http://docs.python.org/install/index.html #备选安装。如果这个问题重复出现,您可以设置一个distutils配置文件,参见http://docs.python.org/install/index.html#inst-config-files。

设置PYTHONPATH变量在tihos post中描述。


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

然后,您可以创建一个python virtualenv (https://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/


重要的问题。我使用的服务器(Ubuntu 12.04)有easy_install3,但没有pip3。这就是我如何安装Pip和其他包到我的主文件夹

问管理员安装Ubuntu包python3-setuptools pip安装

是这样的:

 easy_install3 --prefix=$HOME/.local pip
 mkdir -p $HOME/.local/lib/python3.2/site-packages
 easy_install3 --prefix=$HOME/.local pip

添加Pip(和其他Python应用程序到路径)

是这样的:

PATH="$HOME/.local/bin:$PATH"
echo PATH="$HOME/.local/bin:$PATH" > $HOME/.profile

安装Python包

像这样

pip3 install --user httpie

# test httpie package
http httpbin.org

我使用JuJu,它基本上允许在$HOME/中有一个非常小的linux发行版(只包含包管理器)。护符目录。

它允许通过根目录访问主目录中的自定义系统,因此,您可以在没有根权限的情况下安装任何包。它可以正常运行在所有主要的linux发行版上,唯一的限制是JuJu可以在linux内核上运行,最低推荐版本为2.6.32。

例如,在安装JuJu后安装pip,只需输入以下内容:

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

即使没有root权限,也可以运行easy_install在主目录中安装python包。有一个标准的方法来做这个使用site。USER_BASE,默认为$HOME/。$HOME/Library/Python/2.7/bin,默认情况下包含在PYTHONPATH中

为此,在你的主目录中创建一个.pydistutils.cfg文件:

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

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

easy_install boto

或者,这也可以让你在没有根权限的情况下运行pip:

pip install boto

这对我很有用。

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


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

pip install --user package_name

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


在本地安装virtualenv(说明来源):

重要提示:对于x.x.x.x,请插入当前版本(如16.1.0) 检查提取的文件的名称,并将其插入YYYYY。

$ 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

在你可以使用或安装任何包之前,你需要获取你的虚拟Python环境env:

$ source env/bin/activate

要安装新的python包(如numpy),请使用:

(env)$ pip install <package>

在没有Admin权限的情况下安装Python包

import sys

!{sys.executable} -m pip install package_name

例子

import sys

!{sys.executable} -m pip install kivy

参考:https://docs.python.org/3.4/library/sys.html # sys.executable