Python 2.7 có còn sử dụng được không?

Hướng dẫn này giải thích các rủi ro bảo mật khi sử dụng Python 2 trước khi kết thúc vòng đời [EOL]. Ngoài ra, hãy khám phá các cách bảo mật Python 2 trước khi kết thúc vòng đời [EOL] với ActiveState

Ngôn ngữ lập trình Python 2 không còn được hỗ trợ bởi Python Software Foundation [PSF]. Do đó, phần lớn các gói và thư viện của bên thứ ba không còn được hỗ trợ hoặc cập nhật tích cực bởi cộng đồng Python mã nguồn mở

Tuy nhiên, các tổ chức vẫn tiếp tục sản xuất mã Python 2 rộng rãi thậm chí nhiều năm sau Python 2 EOL

Trong bài viết này, chúng ta sẽ xem xét sự phân nhánh của việc Python 2 ngừng hoạt động nói chung và ý nghĩa của nó đối với các tổ chức vẫn đang chạy mã Python 2 ngày nay nói riêng

Bạn sẽ học được gì

  • Python 2 EOL là gì
    • Rủi ro bảo mật khi sử dụng Python 2 EOL trước đây
  • Các cách quản lý Python 2 EOL trước đây
  • Bảo mật Python 2 với ActiveState
    • Hỗ trợ mở rộng ActiveState cho Python 2
    • Hỗ trợ di chuyển Python 2
    • Phân phối Python được quản lý
  • Các câu hỏi thường gặp
  • Sự kết luận
    • đề xuất đọc

Python 2 EOL là gì

Trăn 2. 0 được phát hành lần đầu tiên vào năm 2000. Ngay sau đó [năm 2006], công việc bắt đầu trên Python 3. 0, đã giới thiệu các thay đổi đột phá để giải quyết một số thiếu sót cơ bản trong Python 2. Do đó, PSF đã duy trì và xuất bản cả Python 2 và Python 3 trong gần 15 năm, phân chia tài nguyên của nó giữa cả hai thế hệ

Nhiều ngày đã được PSF công bố để loại bỏ Python 2 để nhường chỗ cho Python 3, đáng chú ý là vào năm 2015 và 2020. Nhưng ngày cuối cùng đã được giữ. ngày 1 tháng 1 năm 2020

Vào tháng 4 năm 2020, Python 2. 7. 18 đã được phát hành, đây là phiên bản cuối cùng được PSF phát hành cho Python 2. Khi viết bài này, Python 2 không còn được duy trì bởi PSF và sẽ không có thêm bản phát hành nào trong Python 2

Do đó, Python 2 hiện là End of Life [EOL]

Rủi ro bảo mật khi sử dụng Python 2 EOL trước đây

Điều gì sẽ xảy ra với tương lai của Python 2 sau EOL của nó?

  • Người sáng tạo [PSF] hoặc cộng đồng nguồn mở sẽ không cung cấp thêm bản vá bảo mật hoặc bản sửa lỗi nào, ngay cả khi các lỗ hổng mới xuất hiện theo thời gian. Nếu bất kỳ sự cố bảo mật nào được báo cáo trong Python 3, chúng sẽ không được giải quyết trong Python 2
  • Hầu hết các dự án phổ biến của bên thứ ba đã bỏ hỗ trợ Python 2 để chuyển sang Python 3. Có nghĩa là, để sử dụng các tính năng mới của họ cũng như hưởng lợi từ các bản vá bảo mật và bản sửa lỗi mới, bạn cần phải sử dụng Python 3
  • Hỗ trợ nền tảng cho Python 2 sẽ giảm dần. Các bản phân phối Linux, macOS và hầu hết các nhà cung cấp dịch vụ đám mây đang chuyển sang Python 3. Mặc dù một vài trong số họ vẫn cung cấp hỗ trợ cho Python 2, nhưng họ không đảm bảo nó sẽ tồn tại lâu dài
  • Tất cả các tài nguyên được chuyển hướng sang Python 3, bao gồm sách mới, hướng dẫn trực tuyến, học viện mã hóa, v.v. Do đó, sẽ rất khó để tìm trợ giúp về các sự cố có trong Python 2

Mặc dù mỗi tổ chức nên đánh giá rủi ro của mình đối với các ứng dụng Python 2, nhưng rủi ro đó chỉ có thể tiếp tục tăng theo thời gian

Các cách quản lý Python 2 EOL trước đây

Giờ đây, Python 2 là EOL, các lỗi và sự cố bảo mật sẽ không còn được PSF hoặc cộng đồng mã nguồn mở khắc phục nữa. Do đó, các tổ chức hiện đang chạy mã Python 2 có bốn lựa chọn

  1. Không làm gì cả
  2. Di chuyển từ Python 2 sang 3
  3. Sử dụng một thông dịch viên thay thế
  4. Đi hỗ trợ thương mại

Hãy để chúng tôi hiểu những điều này một cách chi tiết dưới đây

#1] Không làm gì cả

Nhiều công ty viện dẫn câu ngạn ngữ, "nếu nó không bị hỏng, đừng sửa nó" để biện minh cho việc gắn bó với các công nghệ không được chấp nhận. Những người khác trích dẫn chi phí [cả về đô la và chi phí cơ hội] của việc di chuyển hoặc viết lại ứng dụng

Do đó, các ứng dụng Python không được hiển thị công khai, nhưng được sử dụng nội bộ bởi công ty, vẫn có thể đang chạy mã kế thừa. Trong những trường hợp này, tùy thuộc vào hồ sơ rủi ro của bạn, “không làm gì cả” có thể là một lựa chọn hấp dẫn

Tuy nhiên, bạn vẫn sẽ bị ảnh hưởng bởi việc hỗ trợ cho các gói và nền tảng của bạn bị giảm dần theo thời gian, dẫn đến chi phí bảo trì tăng lên. Các tổ chức khác đang chạy Python 2 trong các ứng dụng công khai chắc chắn sẽ cần một giải pháp chủ động hơn

#2] Chuyển mã Python 2 sang Python 3

Di chuyển là một tùy chọn được đề xuất bởi những người tạo Python, họ đã cung cấp hướng dẫn để trợ giúp chuyển mã. Dựa trên kích thước cơ sở mã và số lượng phụ thuộc bên ngoài, chi phí chuyển có thể thay đổi

Ý tưởng ở đây là kiểm tra bất kỳ dòng mã nào phụ thuộc vào Python 2 và chuyển đổi nó thành Python 3. Ví dụ, trong Python 2, chúng ta có một câu lệnh in trong khi ở Python 3, nó đã được thay đổi thành một hàm in

ví dụ 1. In bằng Python 2 và Python 3

>>> print "Hello World!" # Python 2 - Print statement
Hello World!
>>> print["Hello World!"] # Python 3 - Print function
Hello World!

Tuy nhiên, đôi khi, cơ sở mã của bạn có thể phụ thuộc vào một thư viện hiện không có sẵn cho Python 3. Trong những trường hợp này, bạn có thể tìm thấy các phụ thuộc thay thế sẽ cung cấp chức năng tương tự. Tuy nhiên, hầu hết các thư viện phổ biến như TensorFlow, scikit-learning, v.v. hỗ trợ Python 3 rồi

Để xem liệu ứng dụng của bạn có dễ dàng chuyển sang Python 3 hay không, PSF khuyên dùng caniusepython3. Nó nhận một tập hợp các phụ thuộc và sau đó tìm ra cái nào trong số chúng có thể cản trở bạn chuyển sang Python 3

[Lưu ý thận trọng. caniusepython3 không còn được phát triển tích cực nữa]

#3] Chạy Trình thông dịch Python 2 thay thế

Nếu việc chuyển đổi sang Python 3 không phải là một tùy chọn, bạn có thể chạy cơ sở mã của mình trên thời gian chạy Python 2 của bên thứ ba cung cấp hỗ trợ cho Python 2 ngoài EOL. Một số tùy chọn bao gồm Tauthon, PyPy và IronPython

Mặc dù không có tùy chọn nào trong số này cung cấp các điều khoản hỗ trợ thương mại hoặc Thỏa thuận mức dịch vụ [SLA], nhưng chúng có thể là một giải pháp đủ tốt tùy thuộc vào hồ sơ rủi ro của bạn

#4] Nhận hỗ trợ Python 2 mở rộng từ các nhà cung cấp thương mại

con trăn. org liệt kê một số nhà cung cấp cung cấp dịch vụ hỗ trợ thương mại cho Python 2, hoặc chỉ để giúp di chuyển hoặc cung cấp hỗ trợ liên tục để chạy các ứng dụng Python 2 ngoài EOL. Trong số các nhà cung cấp này là ActiveState

Trong phần tiếp theo, chúng ta sẽ xem xét ActiveState, nhà cung cấp nổi bật nhất trong không gian này

Bảo mật Python 2 với ActiveState

Nếu bạn vẫn đang chạy Python 2 và yêu cầu hỗ trợ thương mại bao gồm các bản cập nhật bảo mật hoặc bạn muốn có kế hoạch chuyển đổi suôn sẻ sang Python 3, thì ActiveState là lựa chọn nhà cung cấp tốt nhất của bạn

Là thành viên sáng lập của Python Software Foundation và với hơn 20 năm cung cấp hỗ trợ thương mại cho Python 2 và 3, ActiveState có nhiều kinh nghiệm hỗ trợ Python trong nhiều ngành khác nhau

Đáng chú ý, ActiveState tích cực theo dõi và sửa các lỗ hổng đã biết xuất hiện theo thời gian, bao gồm cả những lỗ hổng ảnh hưởng trực tiếp đến Python 2 và những lỗ hổng ảnh hưởng đến Python 3 và do đó ảnh hưởng đến Python 2

=> Kiểm tra tất cả các bản cập nhật về lỗ hổng Python 2 [CVE]

Là một phần trong sáng kiến ​​hỗ trợ Python 2 của họ, ActiveState đã tiến hành một cuộc khảo sát để hiểu cách các tổ chức chuẩn bị cho Python 2 EOL

Trong số những phát hiện quan trọng của họ là

  • Hơn 50% tổ chức không có kế hoạch cho Python 2 EOL hoặc không chắc liệu họ có
  • Lỗ hổng gói, sửa lỗi và lỗ hổng lõi Python 2 là những thách thức được trích dẫn nhiều nhất để hỗ trợ Python 2
  • 54% nói rằng việc tìm các gói thay thế cho Python 2 chưa được viết lại trong Python 3 là thách thức chính của quá trình di chuyển

Hỗ trợ mở rộng ActiveState cho Python 2

ActiveState đã cung cấp hỗ trợ mở rộng cho Python 2 cho các tổ chức hiện không thể hoặc chưa sẵn sàng chuyển sang Python 3

Là một phần hỗ trợ Python 2 của họ, ActiveState cung cấp

  • Cập nhật bảo mật Python 2. ActiveState đã liên tục theo dõi và sửa các lỗ hổng Python 2. Các bản vá được phát triển theo nhiều cách, bao gồm nhập các bản vá lỗi từ thư viện Python 3, làm việc với những người đóng góp trong cộng đồng và công việc phát triển từ các chuyên gia Python của ActiveState
  • Hỗ trợ kỹ thuật Python 2. Các chuyên gia Python của ActiveState cung cấp hỗ trợ dựa trên SLA qua điện thoại, email và trò chuyện cho các hệ điều hành chính như Windows, Linux, macOS và các hệ điều hành cũ khác
  • Gói cập nhật. Các phiên bản mới của gói và thư viện Python 2 của bên thứ ba có thể được cung cấp khi cần

Bạn có thể yêu cầu đánh giá miễn phí để xem liệu bạn có các lỗ hổng hiện có hay không và cách ActiveState có thể bảo mật và hỗ trợ các ứng dụng Python 2 của bạn

Hỗ trợ di chuyển Python 2

ActiveState có thể giúp bạn tạo kế hoạch chuyển đổi suôn sẻ từ Python 2 sang Python 3. Một số lĩnh vực ActiveState có thể cung cấp hướng dẫn, bao gồm

  • Các gói và thư viện Python 2 của bên thứ ba nào có mục tiêu di chuyển phù hợp và không còn được hỗ trợ và/hoặc đã sửa đổi các điều khoản cấp phép của chúng
  • Tư vấn công cụ di chuyển, tùy thuộc vào cách tiếp cận của bạn
  • Những gói Python 3 nào được bảo trì tốt và được cấp phép phù hợp cho mục đích thương mại

Phân phối Python được quản lý

Với hơn 20 năm kinh nghiệm hỗ trợ các doanh nghiệp trong danh sách Fortune 500, ActiveState có thể cung cấp các bản phân phối Python được quản lý và tùy chỉnh để bạn có thể tập trung vào việc tạo ra giá trị kinh doanh thực sự

Các câu hỏi thường gặp

Q #1] Python 2 cuối cùng đã chết?

Câu trả lời. Python 2 đạt End Of Life vào ngày 1 tháng 1 năm 2020. Khi viết bài này, Python 2 không còn được duy trì bởi Python Software Foundation và hầu hết các gói phổ biến đã được chuyển sang Python 3

Q #2] Tại sao lại là Python 2. 7 vẫn được sử dụng?

Câu trả lời. Một cuộc khảo sát do ActiveState thực hiện cho chúng tôi biết rằng một số doanh nghiệp vẫn sử dụng Python 2 vì

  • Một số thư viện và gói chính không có tương đương trong Python 3 hoặc chưa được chuyển
  • Các cơ sở mã lớn yêu cầu đầu tư lớn để chuyển từ v2 sang v3, điều mà một số tổ chức không thể chi trả vào thời điểm này
  • Một số tổ chức đơn giản là sẵn sàng chung sống với rủi ro, ngay cả khi các mối đe dọa bảo mật của Python 2 tiếp tục xuất hiện

Q #3] Python 2 có còn được hỗ trợ không?

Câu trả lời. Hỗ trợ và bảo trì chính thức cho Python 2 đã kết thúc vào ngày 1 tháng 1 năm 2020. Python Software Foundation không còn cung cấp các bản sửa lỗi và bản vá bảo mật nữa. Tuy nhiên, một số triển khai Python 2 thay thế [chẳng hạn như Tauthon và IronPython] tiếp tục cung cấp hỗ trợ

Ngoài ra, một số nhà cung cấp thương mại tiếp tục cung cấp hỗ trợ mở rộng cho Python 2, chẳng hạn như ActiveState

Q #4] Python 2 hay 3 tốt hơn?

Câu trả lời. Python 2 đã lỗi thời và không còn được duy trì bởi Python Software Foundation. Python 3 mạnh hơn, đáng tin cậy hơn và rất được khuyến khích. Không giống như Python 2, Python 3 được Python Software Foundation duy trì tích cực, vì vậy các bản sửa lỗi và bản vá bảo mật miễn phí luôn sẵn có

Q #5] Tôi có nên sử dụng Python 2 không?

Câu trả lời. Nên sử dụng Python 3 chứ không phải Python 2 vì nó đã lỗi thời và không còn được hỗ trợ bởi những người tạo cốt lõi. Tuy nhiên, nếu bạn vẫn đang chạy Python 2, bạn có thể mua hỗ trợ mở rộng Python 2 từ các nhà cung cấp như ActiveState để giảm rủi ro bảo mật liên quan đến việc chạy ứng dụng Python 2

Q #6] Giá hỗ trợ mở rộng ActiveState Python 2 như thế nào?

Câu trả lời. ActiveState cung cấp hỗ trợ Python 2 với giấy phép cấp Doanh nghiệp của họ. Giá cả khác nhau dựa trên yêu cầu của khách hàng

Hỗ trợ mở rộng Python 2 – Nhận đánh giá miễn phí

Sự kết luận

Trong bài viết này, chúng ta đã xem xét Python 2 End of Life là gì và rủi ro bảo mật mà nó có thể gây ra cho những tổ chức vẫn đang chạy các ứng dụng Python 2

Chúng tôi cũng đã xem xét các cách để giảm thiểu rủi ro khi chạy cơ sở mã Python 2 ngày càng dễ bị tổn thương

Cuối cùng, chúng ta đã thảo luận về cách hỗ trợ mở rộng của ActiveState cho Python 2 có thể giúp giảm rủi ro khi chạy Python 2 trong tổ chức của bạn với các bản cập nhật bảo mật và hỗ trợ liên tục

Tôi có nên sử dụng Python 2. 7 hay 3?

Python 3 chắc chắn là dễ đọc hơn, dễ nắm bắt hơn và phổ biến hơn Python 2 . Python 2 chắc chắn đã hết thời và người ta nên học Python 2 khi và chỉ khi một số mã kế thừa đã được viết bằng Python 2 hoặc nếu một công ty cần nhà phát triển chuyển mã Python 2 sang Python 3.

Tôi nên sử dụng phiên bản Python nào cho năm 2022?

Phiên bản Python 3. 10. 4 là bản phát hành ổn định hiện tại, bản phát hành bảo trì thứ tư của Python 3. 10, xuất bản ngày 24 tháng 3 năm 2022.

Chủ Đề