Làm cách nào để thiết bị đầu cuối chạy python 3.1?


14

Hiện tại, khi tôi gõ "python" tại thiết bị đầu cuối, tôi nhận được v2.6, tất cả đều ổn và bảnh bao nhưng làm cách nào tôi có thể đặt nó để sử dụng v3.1 thay thế? Có một biến "đường dẫn" nào đó ngoài kia mà tôi có thể thay đổi như cửa sổ không?

EDIT: Tôi đã cài đặt python3 và chạy. Tôi chỉ muốn biết làm thế nào để đặt nó làm phiên bản python mặc định của shell.


python3 vs python từ dòng lệnh.
earthmeLon

Câu trả lời:


18

Sử dụng python-virtualenv để tạo môi trường python ảo.

Chọn phiên bản Python sẽ được tạo trong môi trường ảo:

virtualenv --python=/usr/bin/python3.1 myvirtualenv

Để quản lý nhiều môi trường Python ảo, hãy cài đặt tiện ích mở rộng virtualenvwrapper .

Tại sao virtualenv?

Vấn đề cơ bản đang được giải quyết là một trong những phụ thuộc và phiên bản, và các quyền gián tiếp. Hãy tưởng tượng bạn có một ứng dụng cần phiên bản 1 của LibFoo, nhưng một ứng dụng khác yêu cầu phiên bản 2. Làm thế nào bạn có thể sử dụng cả hai ứng dụng này? Nếu bạn cài đặt mọi thứ vào /usr/lib/python2.4/site-packages (hoặc bất kể vị trí tiêu chuẩn của nền tảng của bạn là gì), bạn sẽ dễ dàng gặp phải tình huống nâng cấp ứng dụng không nên nâng cấp.


Nếu ứng dụng của tôi được công khai, tôi chắc chắn sẽ sử dụng lời cảm ơn này.
Giăng

10

Trước hết, bạn cần cài đặt python3gói. Sau khi cài đặt nó, đi đến một thiết bị đầu cuối và gõ:

sudo update-alternatives --config python

sau đó chọn python3 từ danh sách được trình bày.

Nếu nó không hoạt động, bạn có thể cần phải tạo lại liên kết tượng trưng. Đầu tiên lưu nó:

sudo mv /usr/bin/python /usr/bin/pythonSAVE

Sau đó, tạo các lựa chọn thay thế:

sudo update-alternatives --install python2.5 python /usr/bin/python2.5 2
sudo update-alternatives --install python3.1 python /usr/bin/python3.1 1

tạo một liên kết tượng trưng mới:

sudo ln -s /etc/alternatives/python /usr/bin/python

Cuối cùng, chọn một (python3) bạn muốn sử dụng:

sudo update-alternatives --config python

Và nếu bạn cần quay lại python2, chỉ cần lặp lại lệnh:

sudo update-alternatives --config python

Tôi đoán chỉ cần cài đặt gói và cập nhật thay thế sẽ hoạt động rất tốt, bạn có thể không cần phải tạo lại liên kết từ đầu. Cảm ơn!

EDIT: Như đã chỉ ra ở đây , update-alternativesvới các --installtùy chọn chấp nhận một liên kết tuyệt đối, vì vậy bạn có thể cần phải chạy:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.5 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.1 1

Tôi đã thử chạy sudo update-alternatives --config python, nhưng nó cho tôi biết update-alternatives: error: no alternatives for python.tôi đã thử tạo lại liên kết tượng trưng như bạn đã nói nhưng nó không thay đổi bất cứ điều gì ... Điều gì có thể sai?
Sean Bone

1

Lần đầu tiên cài đặt Python 3.1 bằng cách sử dụng kho lưu trữ rắn đã chết: https://launchpad.net/~fkrull/+archive/deadsnakes

Sau đó, bạn có thể nhập 'python3' tại dòng lệnh để chạy Python 3.1 trong khi vẫn giữ hệ thống Python bình thường.


+1 - Có vẻ vô nghĩa, vì python3.1-minimalnằm trong kho Ubuntu, nhưng thực tế kho này chứa python2.4python2.5- khá đẹp. (Tôi phải sử dụng python 2.4 để tính toán hiệu năng cao, biết được nỗi đau ...)
Stefano Palazzo
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.