จะถอนการติดตั้ง Python 2.7 บน Mac OS X 10.6.4 ได้อย่างไร


339

ฉันต้องการลบ Python 2.7 จาก Mac OS X 10.6.4 ของฉันโดยสมบูรณ์ ฉันจัดการเพื่อลบรายการจากที่ตัวแปรโดยการย้อนกลับของฉันPATH .bash_profileแต่ฉันต้องการลบไดเรกทอรีไฟล์ symlink และรายการทั้งหมดที่ติดตั้งโดยแพ็คเกจการติดตั้ง Python 2.7 ฉันมีแพคเกจติดตั้งจากhttp://www.python.org/ ฉันต้องลบรายการไดเรกทอรี / ไฟล์ / ไฟล์การกำหนดค่าใดบ้าง มีรายการอยู่ที่ไหนบ้าง?

คำตอบ:


705

อย่าพยายามลบ Python ของระบบที่ได้รับจาก Apple /System/Libraryและ/usr/binอาจทำให้ระบบปฏิบัติการทั้งหมดของคุณพัง


หมายเหตุ: ขั้นตอนที่แสดงด้านล่างไม่ส่งผลกระทบต่อระบบ Python 2.7 ที่ Apple จัดหาให้; พวกเขาเท่านั้นที่เอาบุคคลที่สามกรอบงูใหญ่เช่นผู้ที่ติดตั้งโดยpython.org ติดตั้ง


รายการที่สมบูรณ์เป็นเอกสารที่นี่ โดยพื้นฐานแล้วสิ่งที่คุณต้องทำมีดังนี้:

  1. ลบเฟรมเวิร์ก Python 2.7 ของบุคคลที่สาม

    sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
  2. ลบไดเรกทอรีแอปพลิเคชัน Python 2.7

    sudo rm -rf "/Applications/Python 2.7"
  3. ลบลิงก์สัญลักษณ์/usr/local/binซึ่งชี้ไปที่เวอร์ชัน Python นี้ ดูพวกเขาใช้

    ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' 

    จากนั้นเรียกใช้คำสั่งต่อไปนี้เพื่อลบลิงก์ทั้งหมด:

    cd /usr/local/bin/
    ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
  4. หากจำเป็นให้แก้ไขไฟล์เชลล์โปรไฟล์เพื่อลบการเพิ่ม/Library/Frameworks/Python.framework/Versions/2.7ลงในPATHไฟล์สภาพแวดล้อมของคุณ ทั้งนี้ขึ้นอยู่กับเปลือกที่คุณใช้ใด ๆ ของไฟล์ต่อไปนี้อาจได้รับการแก้ไข: ~/.bash_login, ~/.bash_profile, ~/.cshrc, ~/.profile, ~/.tcshrc, ~/.zprofileและ


157
ขอบคุณที่เฮดอัพฉันเอาออกและพบวิธีที่ยากที่คุณจะต้องติดตั้ง Mac OS X อีกครั้งฉันจะออกจากที่นี่เพื่อใครก็ตามที่เข้ามาและคิดในสิ่งเดียวกันกับที่ฉันทำ อย่าลบ Python ใน / System / Library / Frameworks / ... แอพของคุณจะใช้งานไม่ได้และคุณจะต้องติดตั้ง OS X ใหม่อีกครั้ง
brthornbury

44
Python 2.7 เป็นระบบเริ่มต้น Python ในระบบล่าสุดในขณะที่ 10.6.4 เป็น 2.6 และ 2.7 ติดตั้งโดยผู้ใช้ อย่าถอนการติดตั้ง 2.7 จากระบบ OS X ล่าสุด
Martijn Pieters

30
ขั้นตอนข้างต้นไม่เอาระบบหลามจากใด ๆรุ่นของ OS X ได้ระบบงูเหลือมถูกติดตั้งใน/System/Library/Frameworks(ซึ่งคุณไม่ควรปรับเปลี่ยน) /Library/Frameworksไม่ได้
Ned Deily

5
brew doctorสามารถใช้เพื่อค้นหา symlink ที่ไม่ได้ใช้
Shubham Kushwah

5
อย่าทำตามขั้นตอนเหล่านั้น !!!!! สภาพแวดล้อม virtualenv ของคุณจะเสียหาย !!!!! โอ้พระเจ้า!!! ทำไมฉันถึงทำตามขั้นตอนเหล่านี้ !!!!!!!!!!
FIREUSD

75

อันนี้ใช้ได้ผล:

cd /usr/local/bin/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm

คำอธิบาย: มันจะแสดงรายการลิงก์ทั้งหมดลบ@ตัวอักษรแล้วลบออก


1
ฉันลองทุกคำตอบที่มีให้ที่นี่และนี่คือคำตอบที่ได้ในที่สุด
jtsmith1287

25

หากคุณติดตั้งโดยใช้ตัวติดตั้ง PKG คุณสามารถทำได้:

pkgutil --pkgs

หรือดีกว่า:

pkgutil --pkgs | grep org.python.Python

ซึ่งจะแสดงผลออกเช่น:

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

ตอนนี้คุณสามารถเลือกแพ็คเกจที่คุณจะยกเลิกการเชื่อมโยง (ลบ)

นี่คือเอกสารยกเลิกการเชื่อมโยง:

 --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.

ในตัวอย่างของฉันคุณจะพิมพ์

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

หรือในบรรทัดเดียว:

pkgutil --pkgs | grep org.python.Python | xargs -L1 pkgutil -f --unlink

สำคัญ: - ลิงก์ไม่สามารถใช้งานได้อีกต่อไปที่เริ่มต้นด้วย Lion (ตั้งแต่ไตรมาสที่ 1 ของปี 2014 ซึ่งรวมถึง Lion, Mountain Lion และ Mavericks) หากใครก็ตามที่มาพร้อมกับคำแนะนำนี้ลองใช้กับสิงโตควรลองปรับให้เข้ากับสิ่งที่โพสต์นี้บอกไว้: https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X


4
ขออภัยขึ้นอยู่กับว่าpkgutilจะไม่ลบไฟล์ทั้งหมดที่ติดตั้งโดยโปรแกรมติดตั้ง Python เนื่องจากบางไฟล์นั้นถูกสร้างขึ้นในระหว่างการติดตั้งสคริปต์ postflight และเช่นนี้จะไม่ถูกลงทะเบียน
เน็ด Deily

21

พยายามถอนการติดตั้ง Python ด้วย

brew uninstall python

จะไม่ลบ Python ที่ติดตั้งแบบbrewดั้งเดิมแต่จะเป็นเวอร์ชั่นที่ติดตั้งไว้


9

เกี่ยวกับการลบลิงก์สัญลักษณ์ฉันพบว่าสิ่งนี้มีประโยชน์

find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete

นี่เป็นความคิดที่ดีกว่าการแยกวิเคราะห์ผลลัพธ์lsในคำตอบที่ยอมรับ
spinup

8

สร้าง symlink เป็นเวอร์ชันล่าสุด

 ln -s -f /usr/local/bin/python3.8 /usr/local/bin/python

ปิดและเปิดเทอร์มินัลใหม่

และลอง

 python --version

ขอบคุณมากและเช่นเดียวกับ pip "ln -s -f / usr / local / bin / pip3 / usr / local / bin / pip" จากนั้น "pip --version" ด้วยหากคุณต้องการอัพเกรด pip ให้ใช้คำสั่งนี้ "การติดตั้ง pip
Moh Alaraabi

6

ไม่จำเป็นต้องถอนการติดตั้งงูหลามเวอร์ชั่นเก่า

เพียงติดตั้งเวอร์ชั่นใหม่บอกว่า python-3.3.2-macosx10.6.dmg และเปลี่ยนซอฟต์ลิงค์ของไพ ธ อนไปเป็น python3.3 ที่เพิ่งติดตั้งใหม่

ตรวจสอบเส้นทางของ python และ python3.3 ที่เป็นค่าเริ่มต้นด้วยคำสั่งต่อไปนี้

"ไพ ธ อนตัวใด" และ "อันไหนไพ ธ อน 3.3"

จากนั้นลบซอฟต์ลิงค์ที่มีอยู่ของไพ ธ อนและชี้ไปที่ python3.3


10
ขอบคุณ แต่นี่ไม่ได้ตอบคำถามของฉัน คำถามไม่ได้ว่าฉันต้องถอนการติดตั้งงูหลามรุ่นเก่าเพื่อติดตั้งรุ่นใหม่หรือไม่
ม.ค. Deinhard

1
ดูเหมือนว่านี่เป็นวิธีที่ปลอดภัยที่สุดสำหรับฉันแล้วการล้อเล่นกับสิ่งที่ระบบปฏิบัติการวางไว้บนเครื่องมักไม่ค่อยดีนัก ฉันก็เช่นกัน "ได้รับแพ็คเกจการติดตั้งจากpython.org " หลังจากพบปัญหาไวยากรณ์จากคำสั่ง python3 ในเชลล์ python2 ความคิดแรกของฉันคือการลบ python2 และใช้ python3 แทน อย่างไรก็ตามจากการโพสต์ก่อนหน้านี้ที่ยืนยันถึงอันตรายของการกระทำนั้น นี่เป็นทางออกที่ดีกว่าสำหรับฉันและติดตามแนวคิด "ใช้ลิงก์เพื่อเปลี่ยนเส้นทางพฤติกรรม" นอกจากนี้ python3 shell นั้นถูกติดตั้งแล้ว, เพียงแค่พิมพ์ "python3" แทน "python" ที่พรอมต์
Mark Longmire

@ minhas23 ฉันจะลบซอฟต์ลิงค์และสร้างลิงค์ใหม่ได้อย่างไร?
doberkofler

4

Onur Güzelให้บริการโซลูชั่นในโพสต์บล็อกของเขา"ถอนการติดตั้ง Python Package จาก OS XX

คุณควรพิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล:

  1. sudo rm -rf /Library/Frameworks/Python.framework
  2. cd /usr/local/bin
  3. ls -l . | grep '../Library/Frameworks/Python.framework' | awk '{print $9}' | xargs sudo rm
  4. sudo rm -rf "/Applications/Python x.y"

    โดยที่ command xy เป็นเวอร์ชันของ Python ที่ติดตั้ง ตามคำถามของคุณควรเป็น 2.7

ในคำพูดของ Onur:

คำเตือน:คำสั่งนี้จะลบ Python ทุกเวอร์ชันที่ติดตั้งพร้อมกับแพ็คเกจ Python ที่ให้มาจากระบบจะไม่ได้รับผลกระทบ

หากคุณติดตั้ง Python มากกว่า 1 เวอร์ชันจาก python.org ให้รันคำสั่งที่สี่อีกครั้งเปลี่ยน "xy" สำหรับ Python แต่ละเวอร์ชันที่จะถอนการติดตั้ง


ที่แก้ไขปัญหาของฉันฉันมี 2.7.10 และชงติดตั้ง 2.7.15 และเมื่อฉันวิ่ง "งูใหญ่" 2.7.10 ยังคงปรากฏขึ้นไม่ 2.7.15 หลังจากความช่วยเหลือของคุณทั้งหมดทำงานตอนนี้ขอบคุณ
Radek

4

หมายเหตุ : หากคุณติดตั้ง Python โดยใช้ Homebrew คุณสามารถทำตามขั้นตอนต่อไปนี้หรือค้นหาวิธีอื่น!


หากต้องการถอนการติดตั้ง Python 2.7.10 ที่คุณติดตั้งโดยใช้ Homebrew คุณสามารถออกคำสั่งต่อไปนี้ได้:

brew uninstall python

หากคุณต้องการถอนการติดตั้ง Python 3 (ซึ่งคุณติดตั้งโดยใช้ Homebrew):

brew uninstall --force python3

3

aliasไม่จำเป็นต้องถอนการติดตั้งหรือไปบ้ากับการเชื่อมโยงสัญลักษณ์เพียงแค่ใช้ ฉันประสบปัญหาเดียวกันเมื่ออัพเกรดเป็น python 3.7.1
เพียงติดตั้งเวอร์ชั่นหลามใหม่โดยใช้brew install pythonจากนั้นใน.bash_profileนามแฝงสร้างของคุณชี้ไปที่เวอร์ชันหลามใหม่ เช่นนี้แล้วบันทึกและเรียกใช้alias python="/usr/local/bin/python3" เสร็จสิ้นsource ~/.bash_profile


2

หากคุณกำลังคิดที่จะลบ Python 2.7 ที่เป็นค่าเริ่มต้นของ Apple ออกด้วยตนเองฉันขอแนะนำให้คุณแฮงเอาท์และจดบันทึก: ดูเหมือนว่า Apple จะทำเพื่อคุณในไม่ช้า:

Python 2.7 เลิกใช้แล้วใน OSX 10.15 Catalina

Python 2.7- เช่นเดียวกับ Ruby & Perl- เลิกใช้แล้วใน Catalina: (ข้ามไปที่หัวข้อ " Scripting Language Runtimes "> " Deprecations ")

https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_release_notes

Apple To Remove Python 2.7 ใน OSX 10.16

แน่นอนถ้าคุณไม่ทำอะไรเลยตามThe Mac Observerโดย OSX เวอร์ชั่น 10.16, Python 2.7 จะหายไปจากระบบของคุณ:

https://www.macobserver.com/analysis/macos-catalina-deprecates-unix-scripting-languages/

ด้วยการเปิดเผยนี้ฉันขอแนะนำวิธีที่ดีที่สุดที่จะไม่ทำอะไรเลยและรอให้แอปเปิ้ลเช็ดให้คุณ ในขณะที่ Apple กำลังจะลบออกให้คุณแทบไม่มีความเสี่ยงที่จะเกิดปัญหาขึ้นกับสภาพแวดล้อม Python ของคุณ

หมายเหตุ : ฉันเห็นคำถามเกี่ยวข้องเฉพาะกับOSX v 10.6.4แต่ดูเหมือนว่าคำถามนี้ได้กลายเป็นจุดหมุนสำหรับทุกคนใน OSX ที่สนใจจะลบ Python 2.7 ออกจากระบบไม่ว่าจะใช้เวอร์ชันใดก็ตาม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.