如何在没有 root 访问权限的情况下安装 python 模块?
我正在上一些大学课程,并获得了一个“教学帐户”,这是一个我可以通过 ssh 登录来完成工作的学校帐户。我想在那台机器上运行我的计算密集型 Numpy、matplotlib、scipy 代码,但我无法安装这些模块,因为我不是系统管理员。
我该如何进行安装?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
在大多数情况下,最好的解决方案是依赖所谓的“用户站点”位置(请参阅 PEP 了解详细信息)通过运行:
下面是我原来的答案中更“手动”的方式,如果上述解决方案适合您,则无需阅读它。
使用 easy_install 您可以执行以下操作:
将安装到
(“本地”文件夹是许多人使用的典型名称,但当然您可以指定您有权写入的任何文件夹)。
您需要手动创建
并将其添加到您的
PYTHONPATH
环境变量中(否则 easy_install 会抱怨——顺便说一句,运行上面的命令一次以找到 XY 的正确值)。如果您不使用
easy_install
,请查找前缀选项,大多数安装脚本都允许您指定一个。通过 pip,您可以使用:
In most situations the best solution is to rely on the so-called "user site" location (see the PEP for details) by running:
Below is a more "manual" way from my original answer, you do not need to read it if the above solution works for you.
With easy_install you can do:
which will install into
(the 'local' folder is a typical name many people use, but of course you may specify any folder you have permissions to write into).
You will need to manually create
and add it to your
PYTHONPATH
environment variable (otherwise easy_install will complain -- btw run the command above once to find the correct value for X.Y).If you are not using
easy_install
, look for a prefix option, most install scripts let you specify one.With pip you can use:
没有权限访问或安装
easy_install
?然后,你可以创建一个python
virtualenv
(https://pypi.python.org/pypi/virtualenv)并从此虚拟环境安装软件包。在 shell 中执行 4 个命令就足够了(插入当前版本,如 XXX 的 16.1.0):
源和更多信息:https://virtualenv.pypa.io/en/latest/installation/
No permissions to access nor install
easy_install
?Then, you can create a python
virtualenv
(https://pypi.python.org/pypi/virtualenv) and install the package from this virtual environment.Executing 4 commands in the shell will be enough (insert current release like 16.1.0 for X.X.X):
Source and more info: 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在你的主目录中:
现在你可以在没有root权限的情况下运行easy_install:
或者,这也可以让你在没有root访问权限的情况下运行pip:
这对我有用。
资料来源 Wesley Tanaka 的博客:http://wtanaka.com/node/8095
You can run easy_install to install python packages in your home directory even without root access. There's a standard way to do this using site.USER_BASE which defaults to something like $HOME/.local or $HOME/Library/Python/2.7/bin and is included by default on the PYTHONPATH
To do this, create a .pydistutils.cfg in your home directory:
Now you can run easy_install without root privileges:
Alternatively, this also lets you run pip without root access:
This works for me.
Source from Wesley Tanaka's blog : http://wtanaka.com/node/8095
如果您必须使用 distutils
setup.py
脚本,可以使用一些命令行选项来强制安装目标。请参阅http://docs.python.org/install/index.html#alternate-installation 。如果重复出现此问题,您可以设置 distutils 配置文件,请参阅 http://docs.python。 org/install/index.html#inst-config-files。tihos 帖子中描述了设置 PYTHONPATH 变量。
If you have to use a distutils
setup.py
script, there are some commandline options for forcing an installation destination. See http://docs.python.org/install/index.html#alternate-installation. If this problem repeats, you can setup a distutils configuration file, see http://docs.python.org/install/index.html#inst-config-files.Setting the PYTHONPATH variable is described in tihos post.
重要的问题。我使用的服务器(Ubuntu 12.04)有
easy_install3
但没有pip3
。这就是我将 Pip 和其他软件包安装到我的主文件夹中要求管理员安装 Ubuntu 软件包
python3-setuptools
安装的 pip
像这样:
像这样:
像这样
Important question. The server I use (Ubuntu 12.04) had
easy_install3
but notpip3
. This is how I installed Pip and then other packages to my home folderAsked admin to install Ubuntu package
python3-setuptools
Installed pip
Like this:
Like this:
like this
最好和最简单的方法是这个命令:
http://www.lleess.com/2013/05/how-to-install-python-modules-without.html#.WQrgubyGOnc
The best and easiest way is this command:
http://www.lleess.com/2013/05/how-to-install-python-modules-without.html#.WQrgubyGOnc
我使用 JuJu 它基本上允许在你的 $ 中拥有一个非常小的 Linux 发行版(仅包含包管理器) HOME/.juju 目录。
它允许您的自定义系统位于可通过 proot 访问的主目录中,因此,您可以在没有 root 权限的情况下安装任何软件包。它可以在所有主要的 Linux 发行版上正常运行,唯一的限制是 JuJu 可以在最低推荐版本 2.6.32 的 Linux 内核上运行。
例如,安装 JuJu 后要安装 pip,只需输入以下内容:
I use JuJu which basically allows to have a really tiny linux distribution (containing just the package manager) inside your $HOME/.juju directory.
It allows to have your custom system inside the home directory accessible via proot and, therefore, you can install any packages without root privileges. It will run properly to all the major linux distributions, the only limitation is that JuJu can run on linux kernel with minimum reccomended version 2.6.32.
For instance, after installed JuJu to install pip just type the following:
本地安装 virtualenv(说明来源):
< strong>重要提示:插入XXX的当前版本(例如16.1.0)。
检查提取的文件的名称并将其插入YYYYY。
在使用或安装任何软件包之前,您需要
source
虚拟Python环境env
:安装新的python包(如 numpy),使用:
Install virtualenv locally (source of instructions):
Important: Insert the current release (like 16.1.0) for X.X.X.
Check the name of the extracted file and insert it for YYYYY.
Before you can use or install any package you need to
source
your virtual Python environmentenv
:To install new python packages (like numpy), use:
在没有管理员权限的情况下安装Python包
示例
参考: https://docs.python .org/3.4/library/sys.html#sys.executable
Install Python package without Admin rights
Example
Reference: https://docs.python.org/3.4/library/sys.html#sys.executable
尝试:
查看重复的由于环境错误而无法安装软件包:[WinError 5]访问被拒绝:[重复] - 堆栈内存溢出。
Try:
See the duplicate Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: [duplicate] - Stack Overflow.