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

2024-06-01 06:55:38 发布

您现在位置:Python中文网/ 问答频道 /正文

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

这个包需要Python2.4或最新版本。我们的集群中有Python2.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.

请给我一些关于如何克服它的提示

提前谢谢


Tags: installtopyimportnumpy目录homemake
2条回答

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

下载sourcestar.gzsetuptools-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

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

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

一个选项是使用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

相关问题 更多 >