ลบและติดตั้ง Python ใหม่บน Mac - ฉันสามารถเชื่อถือการอ้างอิงเก่าเหล่านี้ได้หรือไม่?


36

ฉันใหม่สำหรับแม็คและเห็นได้ชัดว่าฉันทำผิดพลาดบางอย่าง ฉันได้เรียนรู้หลามผ่านแบบฝึกหัดและระหว่าง Homebrew, Pip และ XCode ไม่ว่าเวอร์ชั่นของฉันจะผสมกันอย่างไร Pip3 ชี้ไปที่ python2 ดังนั้นการทดลอง python3 ทั้งหมดของฉันจึงล้มเหลว ฯลฯ ...

ฉันกำลังค้นคว้าวิธีลบรุ่นอย่างปลอดภัยทั้งหมดแล้วจึงทำการติดตั้งที่สะอาด (Homebrew?) แต่ฉันกังวลเล็กน้อย

ฉันพบลิงค์ที่ยอดเยี่ยม:

เห็นได้ชัดว่าไม่มีใครแตะต้องอะไรใน/systemไดเรกทอรีรากและโดยพื้นฐานแล้วสิ่งอื่น ๆ ทั้งหมดจะถูกลบ สิ่งที่ทำให้ฉันกังวลคือการเชื่อมโยงนี้ค่อนข้าง doggone เก่า (หกปี! +) ฉันไม่แน่ใจว่าฉันไว้ใจพวกเขาจริง ๆ หรือไม่

ใครมาที่นี่เมื่อเร็ว ๆ นี้? ฉันสามารถเชื่อถือการโพสต์ที่ลิงก์ด้านบนได้หรือไม่? ฉันจะทำความสะอาดเวอร์ชันของ python ได้อย่างไร หมายเหตุ: ฉันใช้ MacOS Sierra (10.12.5)

คำตอบ:


34

ดังนั้นฉันสิ้นสุดการลบการติดตั้งหลามทั้งหมดและติดตั้งสิ่งต่างๆผ่าน Homebrew

  1. which python---> /Library/Frameworks/Python.framework/Versions/2.7/bin/python ลบไดเรกทอรี Python.framework /Library/Frameworksทั้งหมดจาก
  2. which python3---> /usr/local/bin/python3 ลบไดเรกทอรี python3 ทั้งหมด
  3. ฉันกังวลเล็กน้อยเกี่ยวกับ symlink ตอนแรกฉันเปลี่ยนชื่อคนที่เห็นได้ชัดว่าทำให้ฉันเดือดร้อน ปรากฎว่าไม่จำเป็น ให้ใช้:

    $ 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

    ดังนั้นbrew prune(หรือbrew cleanup --pruneในเวอร์ชันที่ใหม่กว่าของ Homebrew) จึงทำงานได้อย่างสมบูรณ์ มันลบ symlinks ข้างต้นทั้งหมด

  4. ติดตั้ง python และ python3 อีกครั้งผ่าน homebrew เสร็จเรียบร้อย.

ฉันไม่ได้สัมผัสการติดตั้งหลามใน/Systemโฟลเดอร์

โอ้และมีความชัดเจน คำตอบของคำถามเดิมคือ

ใช่คุณสามารถเชื่อถือการอ้างอิงเดิมตามที่เขียนไว้! คำแนะนำนั้นยังคงใช้ได้


@nohillside ขอบคุณ แต่ .. คุณอาจยอมรับการป้อนข้อมูลล่าสุดจาก XXXX ที่นี่ซึ่งทำให้การแก้ไขของคุณเป็นความคิดเห็นได้อย่างง่ายดาย ดูเหมือนว่าจะมีการระบุแหล่งที่มาแปลก ๆ สำหรับคุณ .. มีคนใหม่ที่ไม่ได้รับอนุญาตให้โพสต์ความคิดเห็นหรือไม่? และตอนนี้ฉันไม่เห็นชื่อส่งที่จะทำเอง
zipzit

วิธีที่ดีที่สุดในการรับที่มาคือการแก้ไขโพสต์จริงในกรณีที่จำเป็นต้องแก้ไขสิ่งที่ผู้ใช้ทุกคน (แม้แต่คนที่ไม่ระบุชื่อ) สามารถทำได้ หากผู้ใช้เลือกที่จะโพสต์ความคิดเห็นในการปรับปรุงเป็นคำตอบฉันมักจะแก้ไขพวกเขาในโพสต์ที่เกี่ยวข้อง
nohillside

หลาม Homebrew เวอร์ชันจะไม่รวมการสนับสนุน Xcode หรือเครื่องมือเช่นสิ่วที่ฉันตรวจสอบล่าสุด ดังนั้นโดยทั่วไปจะไม่แนะนำ
nyteshade

เพียงกล่าวถึง/System/Library/Frameworks/Python.framework/ต้องไม่ถูกลบออกเชื่อมโยงdocs.python.org/3/using/mac.html
ivan.proskuryakov

เวอร์ชันใหม่มีการล้างข้อมูลชง
GraphicalDot

5

Python เวอร์ชันของฉันคือ 3.6 ฉันต้องการอัพเกรดเป็น 3.7 (ในกรณีที่คุณมีข้อกำหนดคล้ายกัน) ฉันใช้ macOS รุ่น 10.12.6 และเพียงแค่ถอนการติดตั้งและติดตั้งใหม่ก็ใช้งานได้สำหรับฉัน:

brew uninstall --ignore-dependencies python3

แล้ว:

brew install python3

และทำ:

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.

นี้ทำงานได้ดีสำหรับฉัน. ฉันจำเป็นต้องปรับเปลี่ยนipythonเส้นทางด้วยการแก้ไขสคริปต์การเปิดใช้งานด้วยตนเอง - เพื่อชี้ไปยังรุ่นการผลิตของ python
javadba

0

ไฟล์ระบบได้รับการคุ้มครองโดย System Integrity Protection คุณจะไม่สามารถทำตามคำแนะนำเหล่านี้เพื่อrm -rfสุ่มโฟลเดอร์ใน / ระบบโดยไม่ปิดใช้งาน SIP ก่อน

อย่างไรก็ตามเนื่องจากไฟล์ได้รับการปกป้องคุณจึงรู้ว่าไฟล์ดังกล่าวไม่ได้ถูกแก้ไข 'version เลอะ' ของคุณจะเกิดจากการตั้งค่าเชลล์ของคุณและจะไม่เปลี่ยนแปลงโดยการแก้ไขไฟล์ระบบอย่างไรก็ตาม คุณไม่ควรแตะไฟล์เหล่านี้ซึ่งรับรองว่ามีอยู่ใน macOS

Homebrew ติดตั้งแยกต่างหากใน / usr / local / Cellar ใช้ Homebrew เพื่อจัดการการติดตั้ง Python ของคุณและละเว้นการติดตั้งระบบอย่างสมบูรณ์


ใช่ใช่แล้วที่จะเชื่อถือการอ้างอิงทั้งสองนี้หรือไม่ไม่ไว้ใจพวกเขาใช่ไหม การอ้างอิงเหล่านั้นดูเหมือนจะมีคุณภาพสูงมีเหตุผลดีและอธิบายในรายละเอียดที่ค่อนข้างดี
zipzit

1
@zipzit คุณสามารถไว้วางใจพวกเขา แต่พวกเขาจะไม่ทำงาน - นั่นเป็นสองสิ่งที่แยกจากกัน เนื้อหามีความน่าเชื่อถือ ลองใช้กับ macOS เวอร์ชันล่าสุดและจะไม่ทำอันตรายใด ๆ แต่มันจะไม่ทำงานด้วยเหตุผลที่ให้ไว้ในคำตอบนี้ ฉันไม่แนะนำให้ปิดการใช้งาน SIP เพียงเพื่อลบการติดตั้ง Python ของระบบของคุณ (ซึ่งเป็นสาเหตุที่ฉันไม่ได้เชื่อมโยงกับคำแนะนำ) เพราะนั่นไม่ใช่สาเหตุที่แท้จริงของปัญหาของคุณและจะไม่ช่วยแก้ปัญหาใด ๆ
grg

คำตอบของคุณไม่สมเหตุสมผลกับฉัน /systemไม่มีคำตอบที่มีคุณภาพเชื่อมโยงดังกล่าวสัมผัสอะไรใน ไม่มี = ไม่ใช่หนึ่ง, เป็นศูนย์, Zip, Nada มีหลายสิ่งที่ต้องลบใน 1) โฟลเดอร์ Python 3.3 ในโฟลเดอร์ Applications ของคุณ 2) /Library/Frameworks/Python.framework 3) ~ 20 symlink ใน / usr / local / bin 4) การอ้างอิงในเชลล์พา ธ (ถ้ามี) ฉันจะไม่คิดว่าสิ่งเหล่านี้จะได้รับความคุ้มครองที่คุณกำลังพูดถึง ฉันพลาดอะไรไป
zipzit

@zipzit ค่อนข้างนานมาแล้ว Python ถูกย้ายจาก / Library ไปยัง / System / Library ดังนั้นคุณจะแตะ / System เพื่อพยายามลบการติดตั้งระบบ เฟรมเวิร์ก Python ของระบบอยู่ใน /System/Library/Frameworks/Python.framework ไม่ใช่ / Library
grg

$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3บวกหลาม 2.3, 2.4, 2.5, 2.7 และปัจจุบันตั้งอยู่ที่System/Library/Frameworks/Python.framework/Versions/...
zipzit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.