Nâng cấp lên python 3.2


22

Tôi muốn sử dụng các funcools mới cung cấp lrucache, tôi hiện đang sử dụng python 2.6, không hỗ trợ điều này,

Cách tốt nhất để tôi có thể nâng cấp lên python 3.2 là gì? hoặc có cách nào khác để tôi có thể sử dụng itertools + funcools của phiên bản 3.2 trong bản phân phối python 2.6

Cảm ơn bạn


Có lẽ công thức này là hữu ích?
JanC

Câu trả lời:


24

Vì nhiều chương trình và thư viện dựa trên Python 2.6 (hoặc python 2.7 trong 11.04) và vì python 2.x và 3.x không tương thích, bạn không thể nâng cấp - bạn chỉ có thể cài đặt python3 cùng với python 2.6:

Con trăn 3.1

  • May mắn thay, bản phát hành ổn định của Python 3 (3.1.2 tại thời điểm viết bài này) được cung cấp trong kho lưu trữ. Chỉ cần cài đặt gói python3-all  .

    Thông dịch viên của bạn sẽ được /usr/bin/python3thay thế /usr/bin/python.

    Bây giờ bạn cũng có thể nhập python3vào thiết bị đầu cuối của mình khi bạn muốn khởi chạy Py3 thay vì Py2.


Python 3.2

  • Bạn có thể, tải xuống bất kỳ phiên bản nào của nguồn python từ python.org và chạy

    ./configure
    make
    sudo make altinstall

    Để có thể biên dịch nguồn python, bạn sẽ cần một vài gói:

    sudo apt-get install build-essential libncursesw5-dev libreadline5-dev libssl-dev libgdbm-dev libc6-dev libsqlite3-dev tk-dev libbz2-dev

    Tùy chọn altinstall sẽ cài đặt phiên bản python khác cùng với phiên bản hiện tại của bạn:

    Thay vì tải xuống các nguồn, hãy kiểm tra bản phát hành phát triển mới nhất từ ​​kho lưu trữ python dev thường xuyên:

    svn checkout http://svn.python.org/projects/python/branches/py3k

    Điều này sẽ cung cấp cho bạn phiên bản phát triển mới nhất, không ổn định. bạn có thể sau đó cd py3k/và làm các thủ tục biên dịch ở trên.

    Đối với điều này, svn  cần phải được cài đặt tất nhiên.


1
Câu trả lời này rất hay, tôi nêu lên, nhưng tôi muốn có thêm chiều sâu. Tôi có thể gọi Python mới là 'python3.2', điều này rất tốt, nhưng tôi có thể thiết lập mọi thứ để các chương trình cá nhân của tôi sẽ sử dụng phiên bản này theo mặc định (ví dụ: lấy python3.2 làm 'python' đầu tiên trên PATH) trong khi hệ thống giữ an toàn khi sử dụng python2.6? Tôi hỏi không phải vì tôi không thích gõ 'python3.2', mà bởi vì một số
Jonathan Hartley

1
@Tartley Nhận xét của bạn đã bị cắt ở đó, tại sao bạn muốn làm điều đó?
Stefano Palazzo

1
(rất tiếc, cảm ơn.) ... nhưng vì một số công cụ có các tập lệnh bash, gọi các thành phần Python của chúng bằng cách sử dụng 'python xxx.py' và chúng chỉ chạy trong Python 3.2. Vì vậy, tôi muốn tạo một môi trường (thực sự, tôi muốn nó là môi trường mặc định cá nhân của tôi) trong đó Python 3.2 (và tất cả các tập lệnh, công cụ, v.v.) của nó là đầu tiên trên đường dẫn, trong khi để hệ thống Python 2.6 cho hệ thống sử dụng (thực sự, theo sở thích, tôi muốn loại bỏ điều này khỏi đường dẫn cá nhân của tôi chỉ để đảm bảo không có sự nhầm lẫn nào về Python tôi đang chạy)
Jonathan Hartley
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.