ฉันจะเริ่มต้นด้วยการแสดงรายการแพ็กเกจ Python ที่จัดการโดยapt-get
(หนึ่งซับต่อไปนี้ใช้เวลาสองสามวินาทีในการรันและอดทน):
$ for pyfile in `ls /usr/lib/python2.7/dist-packages`; do dpkg -S "/usr/lib/python2.7/dist-packages/${pyfile}" | sed 's/:.*//g'; done | sort -u
หมายเหตุ: หากจำเป็นให้แทนที่ 2.7 ด้วยเวอร์ชันไพ ธ อนที่คุณสนใจ
ถัดไปถอนการติดตั้งแพ็คเกจที่คุณติดตั้งด้วยตนเอง หากคุณไม่แน่ใจว่าคุณติดตั้งตัวใดไว้คุณสามารถรับรายการแพ็คเกจทั้งหมดที่ติดตั้งด้วยตนเองโดยใช้คำสั่งต่อไปนี้ (ดูคำถามนี้ ):
$ comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)
จากนั้นถอนการติดตั้งแพ็กเกจ Python ที่คุณติดตั้งด้วยตนเองเช่น:
$ sudo apt-get remove python-tk python-scipy
ถัดไปคุณต้องการทราบแพ็คเกจที่คุณติดตั้งโดยใช้ pip:
$ ls -ltd /usr/local/lib/python2.7/dist-packages/*
คำสั่งนี้แสดงรายการเนื้อหาของไดเรกทอรีการติดตั้งของ pip เรียงตามวันที่แก้ไขล่าสุดทำให้ง่ายต่อการค้นหาแพ็คเกจที่คุณติดตั้งด้วยตัวเอง ตัวอย่างเช่นฉันติดตั้งgcloud
เครื่องมือของ Google ที่ติดตั้งแพ็คเกจ pip ที่ฉันไม่ต้องการถอนการติดตั้ง แต่มองผ่านรายการมันง่ายที่จะเห็นว่าพวกเขาติดตั้งทั้งหมดในเวลาที่แน่นอนดังนั้นฉันรู้ว่าฉันควร ออกจากและสิ่งที่ฉันสามารถถอนการติดตั้ง ก่อนที่คุณจะถอนการติดตั้งแพ็กเกจ pip ใด ๆ คุณควรถ่ายรูปของรายการแพ็คเกจที่ติดตั้งไว้:
$ sudo pip freeze > $HOME/pip_freeze_snapshot.txt
จากนั้นเพียงถอนการติดตั้งแพ็คเกจที่คุณต้องการเช่น:
$ sudo pip uninstall py pytest
สุดท้ายอย่าลืมว่าแพ็คเกจ pip อาจถูกติดตั้งในไดเรกทอรีผู้ใช้ของคุณ บางทีคุณอาจจะสบายดี แต่ถ้าไม่คุณสามารถแสดงรายการพวกเขา:
$ ls -ltd $HOME/.local/lib/python2.7/site-packages/*
ถ้าคุณต้องการกำจัดแพ็คเกจเหล่านี้คุณสามารถลบไดเร็กทอรี่นี้ได้ มิฉะนั้นเพียงถอนการติดตั้งแพ็คเกจแต่ละตัวเช่น:
$ pip uninstall tensorflow
อย่าลืมตรวจสอบเวอร์ชั่นของไพ ธ อนอื่น ๆ (เช่น 3.5)