Nếu bạn đã cài đặt nó bằng Trình cài đặt PKG, bạn có thể làm:
pkgutil --pkgs
hoặc tốt hơn:
pkgutil --pkgs | grep org.python.Python
sẽ xuất hiện một cái gì đó như:
org.python.Python.PythonApplications-2.7
org.python.Python.PythonDocumentation-2.7
org.python.Python.PythonFramework-2.7
org.python.Python.PythonProfileChanges-2.7
org.python.Python.PythonUnixTools-2.7
Bây giờ bạn có thể chọn gói nào bạn sẽ hủy liên kết [xóa].
Đây là tài liệu hủy liên kết:
--unlink package-id
Unlinks [removes] each file referenced by package-id. WARNING: This command makes no attempt to perform reference counting or dependency analy-
sis. It can easily remove files required by your system. It may include unexpected files due to package tainting. Use the --files command first
to double check.
Trong ví dụ của tôi, bạn sẽ nhập
pkgutil --unlink org.python.Python.PythonApplications-2.7
pkgutil --unlink org.python.Python.PythonDocumentation-2.7
pkgutil --unlink org.python.Python.PythonFramework-2.7
pkgutil --unlink org.python.Python.PythonProfileChanges-2.7
pkgutil --unlink org.python.Python.PythonUnixTools-2.7
hoặc trong một dòng duy nhất:
pkgutil --pkgs | grep org.python.Python | xargs -L1 pkgutil -f --unlink
Quan trọng: --Unlink không có sẵn nữa bắt đầu với Sư tử [kể từ Q1 `2014 sẽ bao gồm Lion, Lion Lion và Mavericks]. Nếu bất cứ ai đến với hướng dẫn này, hãy cố gắng sử dụng nó với sư tử, thay vào đó nên thử để điều chỉnh nó với những gì bài đăng này đang nói: //wincent.com/wiki/uninstalling_packages_[.pkg_files]_on_mac_os_x
Nó không nên làm bất cứ ai ngạc nhiên rằng Apple sẽ loại bỏ Python 2.7 khỏi bản phát hành MacOS 12.3 sắp tới: Cho đến năm 2019, công ty cho biết họ đang phản đối ngôn ngữ kịch bản và lập trình và Python sẽ không được bao gồm trong các phiên bản tương lai của HĐH. Bây giờ Apple chỉ đơn giản là thực hiện tốt lời hứa đó.Apple is removing Python 2.7 from the upcoming macOS 12.3 release: As far back as 2019, the company said it was deprecating the scripting and programming language and that Python would not be included with future versions of the OS. Now Apple is simply making good on that promise.
Bản thân lời hứa cũng không phải là một bất ngờ, cho rằng Quỹ phần mềm Python, nơi duy trì cơ sở mã Python, theo cách nói rằng nó sẽ làm nắng lại Python 2 vào năm 2008.
Tuy nhiên, việc loại bỏ sắp xảy ra của Python 2.7, Macos 12.3 dự kiến sẽ xuất xưởng vào mùa xuân này, vẫn đòi hỏi sự chú ý từ các quản trị viên của Apple. Ở đây, những gì nó có thể có ý nghĩa với bạn và những gì bạn có thể làm để chuẩn bị.
Nhiều cảnh báo
Tóm lại: Tổ chức phần mềm Python ban đầu dự định Sunset Python 2 vào năm 2015; Tại thời điểm đó, nhóm cho biết, họ sẽ xuất bản thêm bất kỳ bản sửa lỗi hoặc bản vá bảo mật nào cho phiên bản ngôn ngữ đó. Hạn chót đó sau đó được đẩy đến ngày 1 tháng 1 năm 2020. Các lập trình viên, người đã sử dụng Python 2 được khuyến khích chuyển sang Python 3. Hai phiên bản đủ khác nhau để mã được viết trong một won won thực hiện một cách đáng tin cậy hoặc hoàn toàn khác.
Vào tháng 6 năm 2019, như một phần của việc chuẩn bị phát hành MacOS Catalina 10.15, Apple đã thông báo rằng các phiên bản tương lai của MacOS sẽ không bao gồm Python 2.7. Apple đã chờ hai năm để thực sự kéo công tắc. & NBSP;Apple has waited two-plus years to actually pull the switch.
Python 2.7 đã được gói với các macOS kể từ phiên bản 10.8; Nó được nhúng tốt trong hệ sinh thái MAC. Các quản trị viên của Apple đặc biệt đã hấp dẫn Python như một cách để tự động hóa quản lý, một phần vì sự hỗ trợ của nó đối với các cấu trúc dữ liệu phân tích cú pháp như JSON và XML vượt trội so với các ngôn ngữ kịch bản shell như Bash và ZSH.
Bắt đầu với MacOS 12.0.1, nếu một chương trình hoặc tập lệnh được gọi cho trình thông dịch Python 2, người dùng sẽ thấy cảnh báo rằng ứng dụng gọi sẽ không hoạt động với các phiên bản MacOS trong tương lai và cần được cập nhật. & NBSP;
Vì vậy, bạn nên làm quản trị viên gì bây giờ?
Kiểm toán
Bước đầu tiên trong việc giải quyết vấn đề là kiểm toán để tìm ra có bao nhiêu tập lệnh và ứng dụng mà bạn đã đẩy ra người dùng cuối hoặc sử dụng để quản lý đội tàu của bạn phụ thuộc vào Python 2.7.
Nếu tổ chức của bạn đã rất nghiêm ngặt về sự phát triển và phân phối các tập lệnh, bạn có thể có tất cả chúng dưới sự kiểm soát nguồn trên một cái gì đó như GitHub. Trong trường hợp đó, bạn có thể có sẵn công cụ để giúp kiểm tra các tập lệnh của bạn. & NBSP;
Nếu bạn không có loại cơ sở hạ tầng đó, thì bạn sẽ phải nhãn cầu các tập lệnh của mình để tham khảo Python 2.7. Bạn có thể quét bất kỳ tệp nào kết thúc bằng .py hoặc có/usr/bin/python hoặc/usr/bin/env python trên dòng đầu tiên. Nhưng hãy nhớ rằng các tập lệnh trong các ngôn ngữ khác cũng có thể phát hiện ra Python cho các nhiệm vụ cụ thể.
Nếu bạn là một khách hàng của Kandji, điều dễ dàng nhất cần làm là xem xét các kịch bản tùy chỉnh mà bạn đang triển khai trong các bản thiết kế khác nhau của bạn. Hãy chắc chắn cũng kiểm tra bất kỳ tập lệnh cài đặt trước, sau khi cài đặt hoặc kiểm toán mà bạn sử dụng để cung cấp các ứng dụng tùy chỉnh. & NBSP;
Một số gói của bên thứ ba mà bạn đang phân phối có thể dựa vào Python 2.7. Bạn có thể đợi cho đến khi chúng bị hỏng, hoặc bạn có thể thử sử dụng tập lệnh Armin Briegel, để kiểm tra các gói cài đặt cho Runtimes không dùng nữa. Bạn cũng có thể liên hệ với các nhà cung cấp để xem họ có vận chuyển Python 2 Runtimes với các ứng dụng của họ không [và khuyến khích họ nâng cấp lên Python 3 thay thế].checking installer packages for deprecated runtimes. You could also contact vendors to see if they ship Python 2 runtimes with their apps [and encourage them to upgrade to Python 3 instead].
Một cách tiếp cận để xem xét: Nâng cấp Mac thử nghiệm lên phiên bản phát hành trước của MacOS 12.3 và cài đặt Python 3 trên đó [có lẽ là một ứng dụng tự động]. Sau đó, thêm Mac đó vào bản thiết kế thử nghiệm có chứa thư viện các tập lệnh và ứng dụng tùy chỉnh của bạn và xác nhận rằng mỗi mục hoạt động như mong đợi khi không có sẵn Python 2.Auto App]. Then add that Mac to a test Blueprint that contains your library of custom scripts and apps, and confirm that each item works as expected when Python 2 is not available.
Mặc dù bạn đang đào xung quanh, bạn cũng có thể sử dụng điều này như một cơ hội để kiểm toán các tập lệnh mà bạn cung cấp cho các hệ thống người dùng cuối và loại bỏ Cruft. Có phải mỗi kịch bản làm những gì mà nó phải làm? Bạn vẫn cần nó? Nếu bạn không, hãy loại bỏ nó. Nếu bạn làm, và nếu nó được xây dựng cho Python 2.7, hãy sửa nó [xem bên dưới].
Giáo dục
Bạn cũng nên giáo dục người dùng về tình hình.
Đối với người dùng cuối chung, bạn có thể chỉ cần thông báo cho họ rằng bạn sẽ nâng cấp máy tính của họ lên MacOS 12.3 và nếu họ thấy bất kỳ thông báo lỗi nào ngay sau đó, họ sẽ cho bạn biết. Nếu bạn bắt đầu nhận được báo cáo về các lỗi như vậy, cuộc gọi tiếp theo của bạn sẽ là các nhà cung cấp phần mềm tạo ra chúng.
Nếu bạn đang nói chuyện với các nhà phát triển trong tổ chức của bạn, bạn có thể nói nhiều hơn:
- Bạn đã nâng cấp lên MacOS 12.3 và kết quả là, Python 2.7 sẽ ngừng hoạt động. Nếu họ vẫn đang sử dụng Python 2.7, họ cần phải dừng lại.
- Bạn có thể hỗ trợ chuyển đổi sang Python 3. Giải thích cách bạn có kế hoạch phân phối phần mềm đó.
- Đây có thể là thời điểm tốt để bắt đầu yêu cầu các nhà phát triển của bạn quản lý môi trường Python của riêng họ và sau đó cung cấp bất kỳ hỗ trợ nào họ cần để làm như vậy. Bằng cách đó, bạn có thể chịu trách nhiệm về phiên bản Python mà bạn đang sử dụng để quản lý đội tàu của mình và họ có thể chịu trách nhiệm về phiên bản mà họ sử dụng cho các dự án của họ.
Tạm dừng nếu bạn phải
Nếu bạn chưa được nâng cấp lên MacOS Monterey, bất cứ điều gì phụ thuộc vào Python 2.7 sẽ tiếp tục hoạt động mà không bị gián đoạn. Nhưng điều đó vẫn không nhất thiết phải khôn ngoan: Python 2.7 đã không được hỗ trợ trong một thời gian dài, không có bản vá bảo mật, vì vậy tiếp tục chạy nó có thể khiến bạn dễ bị tổn thương. Hãy xem xét việc phát hành 12.3 và mất Python 2.7, bạn cần phải thực hiện thay đổi thành HĐH mới hơn và Python an toàn hơn.
Nhưng nếu bạn có sự phụ thuộc kéo dài vào Python 2.7, bạn có thể hoãn việc nâng cấp lên 12.3 cho đến khi bạn giải quyết chúng.
Cài đặt Python 3
Apple không đóng gói Python 3 với các macOS theo cách mà nó đã làm với Python 2. Bạn sẽ phải tự cài đặt Python 3 nếu bạn muốn tận dụng nó trên các điểm cuối. Có một số cách để làm như vậy.
Chuyển thành
Khi bạn đã xác định các tập lệnh vẫn dựa vào Python 2.7 và một khi bạn đã tìm ra cách nâng cấp tất cả các máy tính MAC sẽ chạy tập lệnh của bạn thành Python 3, bạn có thể chuyển đổi các tập lệnh đó. Có một số công cụ có sẵn cho điều đó, bao gồm tương lai, hiện đại hóa và 2to3. Cái sau có thể báo cáo cho bạn những thay đổi cần được thực hiện hoặc nó có thể tự thực hiện các thay đổi.Futurize, Modernize, and 2to3. The latter can either report out to you what changes need to be made or it can make the changes itself.
Về Kandji
Các ứng dụng tự động Kandji sườn có thể giúp bạn giữ phần mềm trên tất cả các máy tính MAC mà bạn quản lý cập nhật. Với các tính năng mạnh mẽ như triển khai không cảm ứng, tuân thủ một lần nhấp và khắc phục ngoại tuyến, Kandji có mọi thứ bạn cần để đăng ký, định cấu hình và bảo mật các thiết bị Apple của bạn.