Cách tìm thư mục cài đặt python trên Ubuntu


47

Tôi vừa di chuyển từ môi trường Windows. Tôi đã cài đặt Python 3.2 trong một thư mục riêng. Làm cách nào tôi có thể nhận được đường dẫn cài đặt python trong Ubuntu shell?

Có cách nào để tôi có thể cho shell biết / chọn trong thời gian chạy phiên bản python nào sẽ được sử dụng để thực thi mã không?

Có bất kỳ biến môi trường và loại đường dẫn tìm kiếm nào trong Ubuntu Linux không?

Câu trả lời:


63

Câu hỏi đầu tiên:

which pythonmặc dù nó thường /usr/bin/pythondành cho 2.7

Câu hỏi thứ hai:

Từ một thiết bị đầu cuối & python2.7 : python2.7 yourfile.py.
Simailarly cho 3.2: python3.2 yourfile.pymặc dù 3.2 không được cài đặt theo mặc định. (Bạn có thể apt-get install python3.2.)

Điều gì python yourfile.pysẽ làm phụ thuộc vào sự thay thế nào được sử dụng cho trình thông dịch python của bạn. Bạn có thể thay đổi điều đó bằng cách phát hành update-alternatives pythondưới dạng root(hoặc bằng cách sử dụng su).

Câu hỏi thứ ba:

Các biến môi trường phụ thuộc vào vỏ, mặc dù bạn có thể viết chúng ra echo $variablevà đặt chúng với variable=value(từ bash). Đường dẫn tìm kiếm được gọi đơn giản PATHvà bạn có thể nhận được bằng cách nhập echo $PATH.

Tôi hy vọng nó sẽ có ích.


Cảm ơn @Wolfer! Câu trả lời thực sự hữu ích và được đánh giá cao. Nếu ai đó như tôi đã thay đổi đường dẫn cài đặt python 3 mặc định thì ..? Làm cách nào để kiểm tra đường dẫn và chạy bằng phiên bản này?
Avi Mehenwal

Ngoài ra, tôi không nhận được bất kỳ đầu ra nào cho biến $ echo $
Avi Mehenwal

3
which python2.7which python3.2sẽ trả về đường dẫn cài đặt của mỗi trình thông dịch (hoặc không trả về gì nếu nó không được cài đặt).
Wolfer

34

Nếu bạn muốn tìm vị trí của một chương trình, bạn chỉ có thể sử dụng whereis <program>.

Trong trường hợp của bạn chạy:

whereis python2.7
whereis python3.2

Để tìm mọi tệp mà apt-get đã sao chép để cài đặt, hãy sử dụng:

dpkg -S python2.7
dpkg -S python3.2

Nhưng maby khuyên bạn nên lưu nó trong một tệp văn bản, bởi vì đầu ra là lớn.

dpkg -S python2.7 >log.txt
gedit log.txt

để chạy tệp .py với python 3.2

python3.2 <file.py>

1
Cảm ơn @Thomas! Lệnh này 'whereis python2.7' đang hiển thị nhiều đường dẫn, nhưng tôi nghĩ rằng phải có một thư mục cài đặt python duy nhất!
Avi Mehenwal

1
dpkg -S python2.7 hiển thị tất cả các tệp của python2.7. "/usr/lib/python2.7" là thư mục của python2.7.
Thomas15v

Tôi hơi bối rối, / usr / bin / python là shebang mặc định chúng tôi sử dụng trong khi gói python nằm ở /usr/lib/python2.7? Điều đó có đúng không ??
Avi Mehenwal

/ usr / lib / python là chương trình. Trong tập tin linux evry có thể là một chương trình. Nếu bạn đến từ cửa sổ nó là nhầm lẫn.
Thomas15v

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.