2011-04-28 37 views
8

Tôi đã thử cài đặt Python 2.7 không có root trên máy Linux từ xa. Tôi đã chạy các lệnhCài đặt Python 2.7 không có gốc

./configure prefix=/ 
make install DESTDIR=/xxx/yyy/ 

nơi/xxx/yyy/là thư mục mà tôi có quyền truy cập đọc-ghi.

Tôi đã gặp sự cố ở cuối. Nó cho biết:

building dbm using gdbm INFO: Can't locate Tcl/Tk libs and/or headers

Python build finished, but the necessary bits to build these modules were not found: _tkinter bsddb185 dl imageop sunaudiodev To find the necessary bits, look in setup.py in detect_modules() for the module's name.

running build_scripts running install_lib creating /lib/python2.7 error: could not create '/lib/python2.7': Permission denied

Tôi có thực hiện đúng các bước cài đặt không có quyền truy cập root không? (tức là, cấu hình của tôi và làm cho lệnh?) Bất cứ ai có thể cho tôi biết lý do tại sao nó sẽ không cài đặt đúng cách?

Cảm ơn,
KTM

Trả lời

8

Bạn nên có prefix =/xxx/yyy. Với tiền tố = /, nó cố gắng cài đặt các thư viện vào /lib/python2.7, thay vì /xxx/yyy/lib/python2.7.

+0

Tôi đã làm điều này, nhưng sau đó nó đã cài đặt các tệp bin/share/lib trong/xxx/yyy/xxx/yyy. Tôi đã kết thúc đổi tên các đường dẫn, để phản ánh cấu trúc thư mục mà tôi muốn (chắc chắn không phải con đường thừa đó!) Và tôi hy vọng rằng nó sẽ không gây ra xung đột đường dẫn. – ktm5124

+1

@ ktm5124: Không cung cấp 'DESTDIR' nếu bạn đã định cấu hình' tiền tố'. Trên thực tế, [người dùng không cần phải sử dụng 'DESTDIR' nào cả] (https://gnu.org/prep/standards/html_node/DESTDIR.html). – Rufflewind

4

Không biên dịch, nhận số pre-built binary from ActiveState.

+0

Tại sao mọi người không làm điều này? Có bắt không? –

+2

@GabrielFair - giấy phép cộng đồng có những hạn chế nhất định ... xem http://www.activestate.com/activepython/license-agreement –

+1

Điều này đơn giản nhất! Và với 'pip', tôi đã cài đặt tất cả các gói mình cần. –

12

Tôi chỉ cài đặt python2.7.5 mà không cần quản trị viên. Tôi nghĩ rằng lệnh nên là:

./configure prefix=/xxx/yyy 
make install 

và sau đó bạn nên thêm đường dẫn/xxx/yyy/bin trong .bashrc như:

PYTHONPATH=/home/songmeixu/python/bin 
export PATH=$PYTHONPATH:$PATH 
Các vấn đề liên quan