Fedora có các gói nâng cấp 99% từ Python 2 lên Python 3

Từ ngày 1 tháng 2020 năm XNUMX, Nền tảng phần mềm Python có mục tiêu là thúc đẩy, bảo vệ và cải thiện ngôn ngữ lập trình Python cũng như hỗ trợ và tạo điều kiện cho sự phát triển của cộng đồng các nhà phát triển Python quốc tế hỗ trợ hoàn thành cho Python 2.7.

Kể từ ngày đó, Python 2.x không còn được hưởng lợi từ bất kỳ bản cập nhật nào, thậm chí không phải từ các bản sửa lỗi bảo mật cơ sở PSF, vì vậy trong một thời gian dài đã thúc đẩy tất cả các nhà phát triển chuyển sang Python 3 có nguy cơ kết thúc với các sự cố hoặc trục trặc Python 2.x khó chữa có thể làm hỏng các dự án dựa trên Python 2 của bạn.

Bất chấp những cảnh báo và khuyến nghị được đưa ra bởi PSF, cũng như Guido van Rossum, người tạo ra ngôn ngữ lập trình Python, nhiều dự án vẫn dựa trên phiên bản 2.x của ngôn ngữ lập trình Python.

Đối với các nhà phát triển, lý do là rất khác nhau. Một số cho rằng họ thừa kế một cơ sở mã được viết bằng Python 2 và cập nhật mã đó có nghĩa là viết lại mọi thứ, điều này sẽ khó đạt được.

Đối với những người khác, họ vẫn gắn bó với Python 2 do một số nhược điểm nhất định mà họ gán cho phiên bản 3 của ngôn ngữ như chậm, việc xử lý các gói sẽ là một cơn ác mộng, việc triển khai Unicode kém, v.v. Đối với những người khác, đó sẽ chỉ là vấn đề ưu tiên, vì họ cảm thấy thoải mái hơn với Python 2 hơn là Python 3.

Trong khi một số nhà phát triển vẫn kiên trì tích hợp Python 2 vào các dự án của họ, Red Hat, hỗ trợ phân phối Linux "Fedora" tập trung chắc chắn vào việc loại bỏ các gói hoạt động với Python 2 và điều đó cho đến nay đã được tích hợp vào Fedora, vì trong nhiều tháng anh ấy đã không bỏ chân ra khỏi bức xúc các nhà phát triển chuyển sang Python 3 và xóa tất cả các gói dựa trên Python 2 đó.

Và đó là trong một phân tích gần đây về các gói được tích hợp trong bản phân phối, nó đã cho thấy sự tiến bộ vượt bậc hướng tới mục tiêu chỉ chuyển sang Python 3.

Trên thực tế, từ 4324 gói được phân tích trong Fedora, 4280 gói chỉ hỗ trợ Python 3 do đó, điều này thể hiện tỷ lệ 99% các gói chỉ hoạt động với Python 3.

Về các gói còn lại, 10% trong số các gói chưa chuyển sang Python 3 và vẫn được phát hiện trong Fedora, có thể được chia thành nhiều nhóm, trong đó:

  • Xây dựng phụ thuộc chưa được xử lý đúng cách.
  • Các gói được đóng gói không tốt
  • Các gói không hoạt động
  • Các gói bị chặn
  • Gói hỗ trợ kép
  • Các gói gói con Python 2 sheet

Theo những người bảo trì Fedora, 29 gói hoạt động với Python 2 và chưa được chuyển sang Python 3. Tiếp theo danh sách này, chúng tôi cũng có 6 gói tương thích với Python 2 và Python 3.

Ngoài các danh mục khác nhau này, các nhà phát triển Fedora báo cáo rằng có một số nhóm gói liên quan đến phụ thuộc vì một số lý do không tương thích hoặc di chuyển sang Python 3 và họ có thể buộc phải sử dụng Python 2.7 trên Fedora 32 trở lên.

Khi một gói ở trong tình huống này, nó sẽ cần một ngoại lệ từ FESCo (Ủy ban Chỉ đạo Kỹ thuật Fedora hoặc trong Ủy ban Chỉ đạo Kỹ thuật Fedora của Pháp quản lý quá trình chấp nhận các tính năng mới, các vấn đề bảo trì và các vấn đề kỹ thuật khác liên quan đến việc xây dựng và phân phối Fedora ) để ở lại Fedora.

Các gói bị ảnh hưởng bởi danh mục cuối cùng này, trong số các gói khác, trình duyệt Chrome, GIMP, cơ sở dữ liệu PostgreSQL, PyPy, môi trường máy tính để bàn Sugar, v.v.

Trong khi Đối với nhiều nhà phát triển, việc dọn dẹp Fedora này là không cần thiết để tiếp tục, một số người dùng bản phân phối GNU / Linux cảm thấy rằng nên cho chủ sở hữu các gói dựa trên Python 2 thêm thời gian để sửa chúng trước nguy cơ phạt người dùng bản phân phối bằng cách xóa các gói dựa trên Python 2.

Cuối cùng nếu bạn muốn biết thêm về nó Về phân tích cú pháp được thực hiện trên các gói Python trong Fedora, bạn có thể kiểm tra liên kết sau.

Và bạn có nghĩ rằng các bản phân phối Linux khác nên có vị trí tương tự như Fedora khi gây áp lực cho các nhà phát triển chuyển sang Python 3 không?


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.