bioinformatician
bioinformatician

Reputation: 364

Installing a python package/tool by a non root user

(1) I have to install one python package (HTSeq) but i dont have root privileges.

The package need python 2.4 or latest version. We have python 2.3 on our cluster.

Thus I installed python 2.7 on my one local directory using

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

(2) The package also requires numpy : so I also installed it on my local directory using:

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

and done

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

(3) I downloaded the tar file of HTSeq (Which i want to download) and run

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

it is throwing following error:

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.

Kindly provide me some hint on how to get over it

Thanks in advance

Upvotes: 6

Views: 7836

Answers (3)

Pierz
Pierz

Reputation: 8118

Another way is to install pip as the local user and then install packages. As explained in the pip docs (check for OS specifics) you can install it as follows - obtain the get-pip.py script, then run it:

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

Once it is installed you can then install packages like this:

python -m pip install PACKAGE_NAME

Upvotes: 0

Serge S.
Serge S.

Reputation: 4915

1) You have to install setuptools (it is necessary to run setup.py of your HTSeq).

Download sources tar.gz setuptools-0.6c11.tar.gz, unpack it, and then do the steps like you installed python2.7, but in the folder where you unpacked setuptools sources:

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

2) When you will install setuptools, a easy_install executable will apear in python2.7/scripts/ folder. You can use it to install packages easily:

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

it will automatically find the package and will download and install it for you along with all dependencies.

Upvotes: 2

Jasper van den Bosch
Jasper van den Bosch

Reputation: 3218

Setuptools is another requirement which you need to install that package.

One option is to use virtualenv to create a contained python environment. This can be made everywhere and is owned by the user who creates it.

To install virtualenv without admin rights (from this answer):

Download tar.gz of the latest version of virtualenv. Unpack it. You don't even need to install it, just run virtualenv.py, for example:

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

Now run your script using the python binary in the virtual environment:

env/bin/python myscript.py

Upvotes: 8

Related Questions