Làm cách nào để thay đổi PYTHONPATH của tôi để tạo 3,2 Python mặc định của tôi thay vì 2.7.2?


16

Tôi có python3.2 nằm trong /usr/lib/python3.2. Tôi không chắc điều đó có nghĩa là nó đã được cài đặt hay chưa nhưng tôi cho rằng bây giờ nó đã được cài đặt.

Một số sự thật về hệ thống của tôi:

$ which python
/usr/local/bin/python

Khi tôi nhập pythonvào thiết bị đầu cuối, tôi nhận được như sau

$ python
Python 2.7.2 (default, Dec 19 2011, 11:12:13) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

Sau đó để tìm con đường tôi làm

>>> sys.info
>>> sys.path
['', '/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages/PIL-1.1.7-py2.7-linux-x86_64.egg', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']

Vì vậy, biết tất cả những điều này, làm cách nào để thay đổi python hệ thống mặc định của tôi từ 2.7.2 thành 3.2?

Câu trả lời:


28

Thay đổi python mặc định là không tốt. Nhiều chương trình hệ thống phụ thuộc vào python2 chứ không phải python3. Nếu bạn muốn sử dụng python3, bạn chỉ cần gõ lệnh python3 .


4
Đối với các thư viện và công cụ hỗ trợ (như pyenv, vải), họ mong đợi /usr/bin/env pythonlà những gì bạn muốn. Vì vậy, gõ bằng tay python3không phải là giải pháp.
Eric Mill

9

PYTHONPATH không liên quan gì đến nó. Nó chỉ cho trình thông dịch Python, bất kỳ trình thông dịch nào chạy, nơi tìm các mô-đun bổ sung mà bạn muốn tải.

Nhưng dù bằng cách nào, việc thay đổi phiên bản mặc định trên hệ thống của bạn là nguy hiểm, như những người bình luận khác đã quan sát. Bạn có nguy cơ phá vỡ gói hiện có được xây dựng dựa trên Python2 và sử dụng / usr / bin / env python để tìm trình thông dịch của chúng.

Trong thực tế, đó là cách sai để diễn đạt nó. Thay đổi phiên bản mặc định của Python sẽ phá vỡ toàn bộ hệ thống Ubuntu của bạn và khiến nhiều chương trình không hoạt động. Nó cũng hoàn toàn không cần thiết.

Nhưng vì bạn đã hỏi, bạn chỉ cần làm điều này:

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.2mu /usr/bin/python

Hạnh phúc đổ vỡ!


7

Tôi đã thêm cái này vào .bashrc, nó hoạt động tốt cho đến nay:

alias python='python3'

1
Điều đó sẽ hoạt động miễn là bạn không gọi python từ một tập lệnh, không có quyền truy cập vào bí danh của bạn.
HelloGoodbye

4

Theo đó, bạn có thể thiết lập biến môi trường của mình hoặc chỉ cần thêm thư mục đường dẫn nhập mới. Nhưng tôi khuyên bạn nên sử dụng virtualenvs cho các dự án python nếu bạn muốn có một chút linh hoạt.



1

nếu trên thực tế nó được cài đặt kiểu trong python3.2 thay vì chỉ python và nó sẽ tải nó thay vì mặc định. Chỉ cần cài đặt python 3.2 để kiểm tra thử =)

nếu trên thực tế nó không được cài đặt terminal mở và gõ sudo apt-get install python3.2 để lấy nó

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.