Xóa và cài đặt lại Python trên Mac - Tôi có thể tin tưởng các tài liệu tham khảo cũ này không?


36

Tôi mới sử dụng mac và dường như tôi đã mắc một số lỗi. Tôi đã học python, thông qua các hướng dẫn, và giữa Homebrew, Pip và XCode bằng cách nào đó các phiên bản của tôi đều bị trộn lẫn. Pip3 trỏ đến python2, vì vậy tất cả các thử nghiệm python3 của tôi đều thất bại, v.v ...

Tôi đang nghiên cứu làm thế nào để gỡ bỏ tất cả các phiên bản một cách an toàn và sau đó quay để cài đặt sạch (homebrew?) Nhưng tôi hơi lo lắng.

Tôi đã tìm thấy một số liên kết tuyệt vời:

Rõ ràng người ta không chạm vào bất cứ thứ gì trong /systemthư mục gốc và về cơ bản mọi thứ khác sẽ bị xóa. Điều làm tôi lo lắng, là liên kết này khá cũ. (sáu năm! +) Tôi không chắc mình có thực sự tin tưởng họ hay không.

Có ai ở đây gần đây không? Tôi có thể tin tưởng các bài đăng được liên kết ở trên? Làm thế nào để tôi dọn dẹp mớ hỗn độn phiên bản python này? Lưu ý: Tôi đang sử dụng MacOS Sierra (10.12.5)

Câu trả lời:


34

Vì vậy, cuối cùng tôi đã gỡ bỏ tất cả các cài đặt python và cài đặt lại mọi thứ thông qua Homebrew.

  1. which python---> /Library/Frameworks/Python.framework/Versions/2.7/bin/python Xóa toàn bộ thư mục Python.framework khỏi /Library/Frameworks.
  2. which python3---> /usr/local/bin/python3 Xóa toàn bộ thư mục python3.
  3. Tôi đã có một chút lo lắng về các liên kết tượng trưng. Ban đầu tôi đổi tên những thứ rõ ràng sẽ gây rắc rối cho tôi. Hóa ra là không cần thiết. Thay vào đó, chỉ sử dụng:

    $ brew doctor
    Warning: Broken symlinks were found. Remove them with 'brew prune':
      /usr/local/bin/python-32
      /usr/local/bin/python2-32
      /usr/local/bin/python2.7-32
      /usr/local/bin/python2_DNU
      /usr/local/bin/python_DNU
      /usr/local/bin/pythonw-32
      /usr/local/bin/pythonw2-32
      /usr/local/bin/pythonw2.7-32

    Vì vậy, brew prune(hoặc brew cleanup --prunetrong các phiên bản mới hơn của Homebrew) đã hoạt động hoàn hảo. Nó loại bỏ tất cả các liên kết trên.

  4. Cài đặt lại python và python3 qua homebrew. Tất cả đã được làm xong.

Tôi không bao giờ chạm vào cài đặt python trong /Systemthư mục.

Ồ, và để rõ ràng. Câu trả lời cho câu hỏi ban đầu là

Vâng, bạn có thể tin tưởng các tài liệu tham khảo cũ, như được viết! Hướng dẫn đó vẫn còn hiệu lực.


@nohillside thx nhưng .. bạn có thể dễ dàng thừa nhận đầu vào gần đây từ XXXX ở đây đã nhắc bạn chỉnh sửa dưới dạng nhận xét ở đây. Có vẻ như một sự ghi nhận kỳ lạ đối với bạn .. Có phải người mới không được phép đăng bình luận? Và bây giờ tôi không thể thấy tên trình để tự làm điều đó.
zipzit

Cách tốt nhất để có được sự ghi nhận là thực sự chỉnh sửa một bài đăng trong trường hợp chỉnh sửa là bắt buộc, điều mà tất cả người dùng (ngay cả những người ẩn danh) có thể làm. Nếu người dùng chọn đăng bình luận cải tiến làm câu trả lời, tôi thường chỉ chỉnh sửa chúng thành bài đăng liên quan.
nohillside

Các phiên bản homebrew của python sẽ không bao gồm hỗ trợ cho Xcode hoặc công cụ như đục cái tôi đã kiểm tra lần cuối. Vì vậy, điều này thường không được khuyến khích.
nyteshade

Chỉ cần nhắc đến /System/Library/Frameworks/Python.framework/phải không bao giờ được gỡ bỏ, liên kết docs.python.org/3/using/mac.html
ivan.proskuryakov

phiên bản mới đã dọn dẹp bia
GraphicalDot

5

Phiên bản Python của tôi là 3.6, tôi muốn nâng cấp lên 3.7 (Trong trường hợp bạn có yêu cầu tương tự). Tôi đang sử dụng macOS phiên bản 10.12.6 và chỉ cần gỡ cài đặt và cài đặt lại làm việc cho tôi:

brew uninstall --ignore-dependencies python3

Sau đó:

brew install python3

và thực hiện:

python3
Python 3.7.2 (default, Jan 13 2019, 12:51:54) 
[Clang 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Điều này làm việc tốt cho tôi. Tôi đã cần phải điều chỉnh ipythonđường dẫn bằng cách chỉnh sửa thủ công tập lệnh khởi chạy - để trỏ đến phiên bản brew của python
javadba

0

Các tệp hệ thống được bảo vệ bởi Bảo vệ toàn vẹn hệ thống. Bạn sẽ không thể làm theo các hướng dẫn này đến rm -rfcác thư mục ngẫu nhiên trong / Hệ thống mà không tắt SIP trước.

Tuy nhiên, vì các tệp được bảo vệ, bạn biết các tệp chưa được sửa đổi. 'Phiên bản lộn xộn' của bạn sẽ là do thiết lập hệ vỏ của bạn và sẽ không được thay đổi bằng cách sửa đổi các tệp hệ thống. Bạn không nên chạm vào những tệp được bảo đảm tồn tại trong macOS.

Homebrew cài đặt riêng trong / usr / local / Cellar. Sử dụng Homebrew để quản lý cài đặt Python của bạn và bỏ qua hoàn toàn cài đặt hệ thống.


Là CÓ, có thể tin tưởng hai tài liệu tham khảo đó hay KHÔNG, không tin tưởng chúng? Những tài liệu tham khảo có vẻ chất lượng cao, lý luận tốt, và giải thích chi tiết khá tốt.
zipzit

1
@zipzit Bạn có thể tin tưởng họ, nhưng họ sẽ không làm việc - đó là hai điều riêng biệt. Nội dung đáng tin cậy; hãy thử nó trên một phiên bản macOS gần đây và nó sẽ không gây hại gì, nhưng nó cũng không hoạt động, vì những lý do được đưa ra trong câu trả lời này. Tôi đặc biệt khuyên bạn không nên vô hiệu hóa SIP chỉ để xóa cài đặt Python hệ thống của bạn (đó là lý do tại sao tôi không liên kết với hướng dẫn) vì đó không phải là nguyên nhân thực sự của vấn đề của bạn và sẽ không giúp giải quyết bất cứ điều gì, có thể gây ra nhiều vấn đề hơn trong quá trình.
grg

Câu trả lời của bạn không có ý nghĩa với tôi. Không có câu trả lời chất lượng nào được liên kết ở trên chạm vào bất cứ điều gì /system. Không = Không phải một, Không, Zip, Nada. Có những thứ cần xóa trong 1) thư mục Python 3.3 trong thư mục Ứng dụng của bạn. 2) / L Library / Frameworks / Python.framework 3) ~ 20 symlink trong / usr / local / bin. 4) tài liệu tham khảo trong đường dẫn shell (nếu tồn tại). Tôi sẽ không nghĩ bất kỳ ai trong số họ sẽ trúng các biện pháp bảo vệ mà bạn đang nói đến. Tôi đang thiếu gì?
zipzit

@zipzit Khá lâu trước đây, Python đã được chuyển từ / Library sang / System / Library, do đó bạn sẽ chạm vào / System để xóa cài đặt hệ thống. Khung Python hệ thống nằm trong / System / L Library / Frameworks / Python.framework, không phải / Thư viện.
grg

$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3cộng với python 2.3, 2.4, 2.5, 2.7 và hiện tại nằm ởSystem/Library/Frameworks/Python.framework/Versions/...
zipzit
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.