2012-05-01 25 views
6

(1) Tôi phải cài đặt một gói python (HTSeq) nhưng tôi không có đặc quyền root.Cài đặt gói/công cụ python bởi người dùng không phải là root

Gói cần python 2.4 hoặc phiên bản mới nhất. Chúng ta có python 2.3 trên cluster của chúng ta.

Vì vậy, tôi cài đặt python 2.7 trên tôi một thư mục địa phương sử dụng

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

(2) Các gói phần mềm cũng đòi hỏi NumPy: vì vậy tôi cũng cài đặt nó trên thư mục địa phương của tôi sử dụng:

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

và thực hiện

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

(3) Tôi đã tải xuống tệp tar của H TSeq (Mà tôi muốn tải về) và chạy

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

nó được ném lỗi sau:

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. 

Vui lòng cung cấp cho tôi một số gợi ý về cách để vượt qua nó

Cảm ơn trước

Trả lời

7

Trình cài đặt là một yêu cầu khác mà bạn cần cài đặt gói đó.

Một tùy chọn là sử dụng virtualenv để tạo môi trường python chứa. Điều này có thể được thực hiện ở khắp mọi nơi và được sở hữu bởi người dùng tạo ra nó.

Để cài đặt virtualenv không có quyền admin (từ this answer):

Tải tar.gz của phiên bản mới nhất của virtualenv. Mở gói. Bạn thậm chí không cần phải cài đặt nó, chỉ cần chạy virtualenv.py, ví dụ:

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 

Bây giờ chạy kịch bản của bạn bằng cách sử dụng hệ nhị phân python trong môi trường ảo:

env/bin/python myscript.py 
+0

Cảm ơn Jasper Van den Bosch, tôi sẽ thử nó (sau ít googling) sử dụng virtualenv vì tôi không biết điều này, nếu tôi gặp bất kỳ sự cố nào, tôi sẽ cho bạn biết – bioinformatician

+0

được rồi, tôi đã thêm một số lệnh, cho tôi biết nó hoạt động! –

+0

Kính gửi Jasper, công việc của nó ... tôi đã cài đặt cả hai gói và bây giờ nhập khẩu HTseq trong python 2.7 phiên hiện tại trên thiết bị đầu cuối. cảm ơn – bioinformatician

2

1) Bạn phải cài đặt setuptools (bạn cần chạy setup.py của HTSeq).

Tải nguồn tar.gzsetuptools-0.6c11.tar.gz, giải nén nó, và sau đó làm các bước như bạn cài đặt python2.7, nhưng trong thư mục mà bạn giải nén setuptools nguồn:

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

2) Khi bạn sẽ cài đặt setuptools, tệp thực thi easy_install sẽ xuất hiện trong thư mục python2.7/scripts/. Bạn có thể sử dụng nó để cài đặt các gói dễ dàng:

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

nó sẽ tự động tìm gói và sẽ tải xuống và cài đặt nó cho bạn cùng với tất cả các phụ thuộc.

+0

Cảm ơn SergeanT, nhưng xin lỗi làm phiền bạn một lần nữa - khi tôi gõ python trên thiết bị đầu cuối, nó sẽ tự động mất phiên bản python cũ (2.3). Tôi phải sử dụng python 2.7. vì vậy khi tôi chạy sh sh setuptools-0.6c11-py2.7.egg, nó đưa ra một lỗi: setuptools-0.6c11-py2.7.egg: dòng 3: exec: python2.7: không tìm thấy – bioinformatician

+0

Nó là tốt hơn để cài đặt setuptools từ các nguồn (sử dụng liên kết 'tar.gz'), sau đó thực hiện mọi thứ như bạn đã cài đặt python2.7 (' ./configure --prefix = ... ',' make', 'make install'. Tôi đã cập nhật câu trả lời của mình với những bươc này. –

Các vấn đề liên quan