2012-05-01 14 views
6

(1) Muszę zainstalować jeden pakiet python (HTSeq), ale nie mam uprawnień roota.Instalowanie pakietu Pythona/narzędzia przez użytkownika innego niż root

Pakiet potrzebuje python 2.4 lub najnowszej wersji. W naszym klastrze mamy python 2.3.

Tak więc zainstalowany Python 2.7 na moim jednym katalogu lokalnego wykorzystaniem

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

(2) Pakiet wymaga również numpy: tak ja również zainstalowany w lokalnym katalogu przy użyciu:

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

i zrobione:

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

(3) Pobrałem plik tar H TSeq (którego chcę, aby pobrać) i uruchomić

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

to rzuca następujący błąd:

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. 

Prosimy podać mi jakąś wskazówkę, w jaki sposób dostać się nad nim

góry dziękuję

Odpowiedz

7

Setuptools to kolejne wymaganie, które należy zainstalować w tym pakiecie.

Jedną z opcji jest użycie virtualenv w celu utworzenia zamkniętego środowiska python. Można to zrobić wszędzie i jest własnością użytkownika, który je tworzy.

Aby zainstalować virtualenv bez praw administratora (od this answer):

Pobierz tar.gz najnowszej wersji virtualenv. Rozpakuj go. Nawet nie trzeba go instalować, wystarczy uruchomić virtualenv.py, na przykład:

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 

teraz uruchomić skrypt przy użyciu binarnego Pythona w środowisku wirtualnym:

env/bin/python myscript.py 
+0

Dzięki Jasper Van den Bosch, spróbuję go (po niewielkim przeszukaniu) używając virtualenv, ponieważ jestem tego nieświadomy, jeśli napotkam jakiś problem, dam ci znać – bioinformatician

+0

w porządku, dodałem kilka poleceń, daj mi znać jak to działa! –

+0

Drogi Jasperie, działa ... Zainstalowałem oba pakiety i teraz zaimportowałem HTseq w aktualnej sesji Pythona 2.7 na terminalu. dzięki – bioinformatician

2

1) You musisz zainstalować setuptools (konieczne jest uruchomienie setup.py twojego HTSeq).

Pobierz źródła tar.gzsetuptools-0.6c11.tar.gz, rozpakuj go, a następnie wykonaj kroki jak zainstalowałeś python2.7, ale w folderze, w którym rozpakowane setuptools źródła:

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

2) Gdy będziesz zainstaluj setuptools, plik wykonywalny easy_install pojawi się w folderze python2.7/scripts/. Możesz go użyć do łatwej instalacji pakietów:

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

to automatycznie znajdzie pakiet i pobierze go i zainstaluje dla Ciebie wraz ze wszystkimi zależnościami.

+0

Dziękuję SergeanT, ale przykro mi raz jeszcze przeszkadzać - kiedy piszę pythona na terminalu, automatycznie pobiera on starą wersję Pythona (2.3). Muszę używać Pythona 2.7. więc gdy uruchomię sh shittools-0.6c11-py2.7.egg, pojawia się błąd: setuptools-0.6c11-py2.7.egg: linia 3: exec: python2.7: nie znaleziono – bioinformatician

+0

Lepiej jest zainstalować setuptools ze źródeł (użyj linku 'tar.gz'), następnie wykonaj wszystko, co zainstalowałeś python2.7 (' ./configure --prefix = ... ',' make', 'make install'. Zaktualizowałem swoją odpowiedź te kroki. –

Powiązane problemy