Я б почав з перерахування пакетів 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 будь-якою версією python, яка вас цікавить.
Потім видаліть встановлені вами пакунки вручну. Якщо ви не впевнені, які з них встановили, ви можете отримати список усіх встановлених пакетів вручну за допомогою наступної команди (див. Це питання ):
$ 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, які я не хочу видаляти, але, переглядаючи список, легко помітити, що вони були встановлені в один і той же час, тому я знаю, які з них я повинен залишити, а які я можу видалити. Перед тим, як видалити будь-який пакет пакетів, вам слід зробити короткий опис списку встановлених пакетів:
$ sudo pip freeze > $HOME/pip_freeze_snapshot.txt
Потім просто видаліть потрібні пакети, наприклад:
$ sudo pip uninstall py pytest
Нарешті, не забувайте, що деякі пакунки з піп-файлами, можливо, були встановлені у вашому каталозі користувачів. Можливо, у вас із цим все добре, але якщо ні, ви можете перелічити їх:
$ ls -ltd $HOME/.local/lib/python2.7/site-packages/*
Якщо ви хочете позбутися від усіх цих пакетів, ви можете просто видалити цей каталог. В іншому випадку просто видаліть окремі пакети, наприклад:
$ pip uninstall tensorflow
Не забудьте перевірити інші версії python (наприклад, 3.5).