Nhiều doanh nghiệp nhỏ có vài đoạn script chạy ngầm đã nhiều năm: xuất báo cáo, đổi tên tập tin, đọc dữ liệu từ máy chấm công hay gửi email tự động. Người viết có thể đã nghỉ, và không ai nhớ script đó dùng phiên bản Python nào. Ngày 1/1/2020 Python 2 chính thức hết hỗ trợ, nên đây là lúc nên kiểm tra những đoạn mã này.
Python 2 hết hỗ trợ có nghĩa là gì
Theo thông báo của nhóm phát triển Python, kể từ 1/1/2020 sẽ không còn báo cáo lỗi, bản vá hay thay đổi mới nào cho Python 2. Điều này bao gồm cả lỗ hổng bảo mật: nếu có người phát hiện một lỗi bảo mật, nhóm phát triển cũng không sửa nữa. Nhóm phát triển cũng cho biết bản 2.7 cuối cùng sẽ chỉ gộp các sửa lỗi đã có từ trước đến hết ngày 1/1/2020, không thêm gì khác.
Điều này không có nghĩa script sẽ ngừng chạy ngay vào ngày đó. Nhưng nó sẽ không được vá khi có lỗi mới, và thư viện bên thứ ba dần ngừng hỗ trợ. Rủi ro tăng theo thời gian, đặc biệt nếu script xử lý dữ liệu khách hàng hoặc có kết nối mạng.
Kiểm kê script và công cụ nội bộ
Trước khi chuyển, hãy biết mình đang có gì. Gợi ý các bước:
- Tìm script: kiểm tra lịch chạy tự động (cron, Task Scheduler), thư mục dùng chung và máy chủ cũ.
- Ghi lại mục đích: mỗi script làm gì, ai dùng, chạy khi nào, dữ liệu vào và ra.
- Xác định phiên bản Python: xem dòng đầu file hoặc câu lệnh gọi (python hay python2), và các thư viện cài kèm.
- Đánh giá mức quan trọng: script nào phục vụ kế toán, bán hàng hay báo cáo thì ưu tiên.
- Chỉ định người chịu trách nhiệm cho từng script. Nếu không ai dùng nữa, có thể ngừng và lưu trữ.
Một bảng tính đơn giản với các cột này là đủ để bắt đầu.
Chuyển sang Python 3 từng bước
Không cần chuyển tất cả cùng lúc. Một cách làm thực tế:
- Sao lưu mã nguồn và dữ liệu mẫu trước khi sửa.
- Chạy thử bản gốc để biết kết quả đúng, rồi dùng làm mốc so sánh.
- Dùng công cụ hỗ trợ như 2to3 đi kèm Python để gợi ý chỗ cần sửa, sau đó đọc lại bằng mắt vì công cụ không phát hiện được mọi trường hợp.
- Chú ý các điểm khác biệt hay gặp: câu lệnh print, chia số nguyên, cách xử lý chuỗi và mã hoá ký tự (đặc biệt với tiếng Việt có dấu), và tên các mô-đun thư viện.
- Cập nhật thư viện bên thứ ba sang bản hỗ trợ Python 3, hoặc tìm thư viện thay thế.
- Kiểm thử so sánh: chạy bản mới trên cùng dữ liệu rồi đối chiếu kết quả với bản cũ.
- Chạy song song một thời gian trước khi tắt bản cũ.
Nếu script rất ngắn, đôi khi viết lại từ đầu bằng Python 3 nhanh hơn việc sửa từng dòng.
Rủi ro bảo mật nếu giữ nguyên
Nếu chưa thể chuyển ngay, hãy giảm thiểu rủi ro:
- Không để script Python 2 truy cập trực tiếp từ Internet.
- Cho script chạy bằng tài khoản có quyền hạn chế, không dùng quyền quản trị.
- Cô lập máy chạy script trong mạng nội bộ và cập nhật hệ điều hành.
- Đặt thời hạn rõ ràng để chuyển đổi, thay vì để vô thời hạn.
Tương tự việc nâng PHP cho WordPress khi phiên bản cũ hết hỗ trợ, bạn có thể xem lại bài PHP 5.6 và 7.0 hết hỗ trợ. Thói quen nhận biết thư lừa đảo cũng quan trọng, vì nhiều sự cố bắt đầu từ email; xem email phishing: 7 dấu hiệu nhận biết. Về việc phần mềm cũ khiến trình duyệt cảnh báo, đã có ví dụ trong Chrome 68 đánh dấu HTTP là không bảo mật, và về dữ liệu người dùng bạn có thể đọc bài học từ Cambridge Analytica.
Nếu cần hỗ trợ rà soát máy chủ hoặc script nội bộ, có thể liên hệ đội Công nghệ của HVSC qua trang bảo mật server và website.
2026년 업데이트: Python 2.7.18 được phát hành tháng 4/2020 như bản cuối cùng, và Python 2 không còn được hỗ trợ. Hiện các bản Python 3 mới vẫn tiếp tục được phát hành; hãy xem python.org để biết phiên bản nào đang được hỗ trợ.
자주 묻는 질문
Script Python 2 có tự ngừng chạy vào 1/1/2020 không?
Không. Nhưng sẽ không còn bản vá, kể cả lỗi bảo mật, nên rủi ro tăng dần.
Có công cụ nào hỗ trợ chuyển sang Python 3 không?
Có, như 2to3 đi kèm Python. Công cụ chỉ gợi ý, bạn vẫn cần đọc lại và kiểm thử.
Nếu chưa chuyển kịp thì làm gì?
Hạn chế quyền truy cập, không để script lộ ra Internet, và đặt thời hạn chuyển đổi rõ ràng.
참고 자료
- Python.org — Sunsetting Python 2: https://www.python.org/doc/sunset-python-2/
Cần tư vấn website, phần mềm hoặc bảo mật?
Mô tả bài toán, kỹ thuật HVSC trao đổi phạm vi và phương án phù hợp với doanh nghiệp.
자주 묻는 질문
Script Python 2 có tự ngừng chạy vào 1/1/2020 không?
Không. Nhưng sẽ không còn bản vá, kể cả lỗi bảo mật, nên rủi ro tăng dần.
Có công cụ nào hỗ trợ chuyển sang Python 3 không?
Có, như 2to3 đi kèm Python. Công cụ chỉ gợi ý, bạn vẫn cần đọc lại và kiểm thử.
Nếu chưa chuyển kịp thì làm gì?
Hạn chế quyền truy cập, không để script lộ ra Internet, và đặt thời hạn chuyển đổi rõ ràng.











▶
▶
▶
▶
▶