由非root用户安装python包/工具

时间:2012-05-01 11:26:26

标签: python setuptools

(1)我必须安装一个python包(HTSeq),但我没有root权限。

包需要python 2.4或最新版本。我们的集群上有python 2.3。

因此我在我的一个本地目录上安装了python 2.7 使用

./configure --prefix=/home/amit/tools/localpython 
make 
make install

(2)该软件包还需要numpy:所以我也使用:

将它安装在我的本地目录中
/home/amit/tools/localpython/bin/python2.7 setup.py install --home=/home/amit/tools/localnumpy 

并完成了

>>> sys.path.append("/home/amit/tools/localnumpy/lib/")

(3)我下载了HTSeq的tar文件(我想下载)并运行

/home/amit/tools/localpython/bin/python2.7 setup.py install --home=/home/amit/tools/localhtseq

它引发了以下错误:

Could not import 'setuptools',
falling back to 'distutils'.
Setup script for HTSeq: Failed to import 'numpy'.
Please install numpy and then try again to install HTSeq.

请告诉我如何克服它

提前致谢

2 个答案:

答案 0 :(得分:7)

安装工具包是安装该软件包所需的另一项要求。

一种选择是使用virtualenv来创建一个包含的python环境。这可以在任何地方进行,并由创建它的用户拥有。

安装没有管理员权限的virtualenv(来自this answer):

下载最新版virtualenv的tar.gz。 打开包装。 您甚至不需要安装它,只需运行virtualenv.py,例如:

wget http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.7.1.2.tar.gz
tar -xzf virtualenv-1.7.1.2.tar.gz
/home/amit/tools/localpython/bin/python2.7 virtualenv-1.7.1.2/virtualenv.py env

env/bin/pip install HTSeq
env/bin/pip install numpy

现在使用虚拟环境中的python二进制文件运行脚本:

env/bin/python myscript.py

答案 1 :(得分:2)

1)您必须安装setuptools(必须运行HTSeq的setup.py)。

下载源代码 tar.gz setuptools-0.6c11.tar.gz,将其解压缩,然后执行安装python2.7之类的步骤,但是在解压缩setuptools源文件夹的文件夹中:

./configure --prefix=/home/amit/tools/localpython 
make 
make install

2)当您安装setuptools时,easy_install可执行文件将出现在python2.7/scripts/文件夹中。您可以使用它轻松安装软件包:

/home/amit/tools/localpython/bin/python2.7/scripts/easy_install HTSeq

它将自动找到该软件包,并将为您和所有依赖项下载并安装它。