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

发布于 2024-12-05 11:58:10 字数 142 浏览 1 评论 0 原文

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

我该如何进行安装?

I'm taking some university classes and have been given an 'instructional account', which is a school account I can ssh into to do work. I want to run my computationally intensive Numpy, matplotlib, scipy code on that machine, but I cannot install these modules because I am not a system administrator.

How can I do the installation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

清风挽心 2024-12-12 11:58:10

在大多数情况下,最好的解决方案是依赖所谓的“用户站点”位置(请参阅 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 会抱怨——顺便说一句,运行上面的命令一次以找到 XY 的正确值)。

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

通过 pip,您可以使用:

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

In most situations the best solution is to rely on the so-called "user site" location (see the PEP for details) by running:

pip install --user package_name

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:

easy_install --prefix=$HOME/local package_name

which will install into

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

(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

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

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:

pip install --install-option="--prefix=$HOME/local" package_name
何其悲哀 2024-12-12 11:58:10

没有权限访问或安装easy_install

然后,你可以创建一个python virtualenv (https://pypi.python.org/pypi/virtualenv)并从此虚拟环境安装软件包。

在 shell 中执行 4 个命令就足够了(插入当前版本,如 XXX 的 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/

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):

$ 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

Source and more info: https://virtualenv.pypa.io/en/latest/installation/

十二 2024-12-12 11:58:10

即使没有 root 访问权限,您也可以运行 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

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

easy_install boto

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

pip install boto

这对我有用。

资料来源 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:

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

Now you can run easy_install without root privileges:

easy_install boto

Alternatively, this also lets you run pip without root access:

pip install boto

This works for me.

Source from Wesley Tanaka's blog : http://wtanaka.com/node/8095

梦一生花开无言 2024-12-12 11:58:10

如果您必须使用 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.

夏夜暖风 2024-12-12 11:58:10

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

  1. 要求管理员安装 Ubuntu 软件包 python3-setuptools

  2. 安装的 pip

像这样:

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

像这样:

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

Important question. The server I use (Ubuntu 12.04) had easy_install3 but not pip3. This is how I installed Pip and then other packages to my home folder

  1. Asked admin to install Ubuntu package python3-setuptools

  2. Installed pip

Like this:

 easy_install3 --prefix=$HOME/.local pip
 mkdir -p $HOME/.local/lib/python3.2/site-packages
 easy_install3 --prefix=$HOME/.local pip
  1. Add Pip (and other Python apps to path)

Like this:

PATH="$HOME/.local/bin:$PATH"
echo PATH="$HOME/.local/bin:$PATH" > $HOME/.profile
  1. Install Python package

like this

pip3 install --user httpie

# test httpie package
http httpbin.org
南…巷孤猫 2024-12-12 11:58:10

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

pip install --user package_name

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

The best and easiest way is this command:

pip install --user package_name

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

耀眼的星火 2024-12-12 11:58:10

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

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

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

gt;juju -f
(juju)
gt; pacman -S python-pip
(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:

gt;juju -f
(juju)
gt; pacman -S python-pip
(juju)> pip
甜心 2024-12-12 11:58:10

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

< strong>重要提示:插入XXX的当前版本(例如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

使用安装任何软件包之前,您需要source虚拟Python环境env

$ source env/bin/activate

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

(env)$ pip install <package>

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.

$ 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

Before you can use or install any package you need to source your virtual Python environment env:

$ source env/bin/activate

To install new python packages (like numpy), use:

(env)$ pip install <package>
海的爱人是光 2024-12-12 11:58:10

在没有管理员权限的情况下安装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

Install Python package without Admin rights

import sys

!{sys.executable} -m pip install package_name

Example

import sys

!{sys.executable} -m pip install kivy

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文