Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在没有root访问权限的情况下安装python模块?_Python_Numpy_Pip - Fatal编程技术网

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

如何在没有root访问权限的情况下安装python模块?,python,numpy,pip,Python,Numpy,Pip,我参加了一些大学课程,并获得了一个“教学帐户”,这是一个学校帐户,我可以用它来做工作。我想在那台机器上运行我的计算密集型Numpy、matplotlib、scipy代码,但我无法安装这些模块,因为我不是系统管理员 如何进行安装?在大多数情况下,最佳解决方案是通过运行以下命令依赖所谓的“用户站点”位置(有关详细信息,请参阅): pip install --user package_name 下面是一个更“手册”的方式从我的原始答案,你不需要阅读它,如果上面的解决方案为你工作 使用easy_in

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


如何进行安装?

在大多数情况下,最佳解决方案是通过运行以下命令依赖所谓的“用户站点”位置(有关详细信息,请参阅):

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\u install将发出抱怨——顺便说一句,运行上面的命令一次,以找到X.Y的正确值)

如果您没有使用
easy\u install
,请查找前缀选项,大多数安装脚本都允许您指定前缀选项

使用pip,您可以使用:

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

如果必须使用distutils
setup.py
脚本,则有一些命令行选项用于强制安装目标。看见如果此问题再次出现,可以设置distutils配置文件,请参阅


设置PYTHONPATH变量在tihos post中有说明。

没有访问或安装的权限
轻松安装

然后,您可以创建一个python
virtualenv
(),并从这个虚拟环境中安装软件包

在shell中执行4个命令就足够了(插入当前版本,如X.X.X的16.1.0):


来源和更多信息:

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

  • 要求管理员安装Ubuntu软件包
    python3安装工具

  • 已安装pip

  • 像这样:

     easy_install3 --prefix=$HOME/.local pip
     mkdir -p $HOME/.local/lib/python3.2/site-packages
     easy_install3 --prefix=$HOME/.local pip
    
    PATH="$HOME/.local/bin:$PATH"
    echo PATH="$HOME/.local/bin:$PATH" > $HOME/.profile
    
  • 将Pip(和其他Python应用程序添加到path)
  • 像这样:

     easy_install3 --prefix=$HOME/.local pip
     mkdir -p $HOME/.local/lib/python3.2/site-packages
     easy_install3 --prefix=$HOME/.local pip
    
    PATH="$HOME/.local/bin:$PATH"
    echo PATH="$HOME/.local/bin:$PATH" > $HOME/.profile
    
  • 安装Python包
  • 像这样

    pip3 install --user httpie
    
    # test httpie package
    http httpbin.org
    
    我使用它基本上允许在$HOME/.jujuju目录中有一个非常小的linux发行版(只包含包管理器)

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

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

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

    您可以运行easy_install在主目录中安装python软件包,即使没有root访问权限。有一种使用site.USER_BASE的标准方法,它默认为$HOME/.local或$HOME/Library/Python/2.7/bin,默认情况下包含在PYTHONPATH中

    为此,请在主目录中创建.pydistutils.cfg:

    cat > $HOME/.pydistutils.cfg <<EOF
    [install]
    user=1
    EOF
    
    或者,这也允许您在没有根访问权限的情况下运行pip:

    pip install boto
    
    这对我有用


    来源于Wesley Tanaka的博客:

    最好、最简单的方法是使用以下命令:

    pip install --user package_name
    

    在本地安装virtualenv():

    重要提示: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
    
    在使用或安装任何软件包之前,您需要
    source
    您的虚拟Python环境
    env

    $ source env/bin/activate
    
    要安装新的python软件包(如numpy),请使用:

    (env)$pip安装
    
    安装不带管理员权限的Python软件包 例子
    参考:

    对于要安装的软件包,可以将--user或--prefix传递到setup.py,以便在本地安装。再见,非常感谢。我已经使用
    python/setup.py install--home=
    成功安装了
    lxml
    库。在没有安装
    pip
    的系统上,这个答案对我很有用。我尝试了一个用于本地python安装的变体。curl--silent--show error--retry 5 | ~/Python-2.7.8/Python源代码似乎已移动,而上面的内容无法直接使用。在
    https://virtualenv.pypa.io/en/latest/installation/
    工作正常:)如果python没有可用的
    pip
    easy\u install
    怎么办?安装进行得很顺利(pip方法),但导入包名不起作用。我是否需要更改/添加一些配置?另外,安装复制到了哪里(文件夹方面)?/,@AnotherDayAnotherRob,这听起来是个好问题。更新答案并将
    --user
    指令放在顶部可能是有意义的。:@Girardi,以防您已将python从src安装到本地dir/my_python/,首先在这个位置安装pip是很有用的:wget--no-check certificate-O-|/my_python/bin/python-然后您可以安装其他模块,使用pip+前缀。我在linux服务器上安装pip时没有根访问权限。谢谢,但我不知道为什么它会起作用。任何人都能给出提示吗?那么我该如何处理路径呢?这基本上是一个更新版本的。他的指示已经过时了。我的编辑被拒绝了。正因为如此,我把它作为一个新的指示贴了出来。
    (env)$ pip install <package>
    
    import sys
    
    !{sys.executable} -m pip install package_name
    
    import sys
    
    !{sys.executable} -m pip install kivy