Как я могу удалить питон 2.7 после установки питона 3.3?
Я успешно установлен Python 3.3 на Ubuntu 12.10. Поскольку мне не нужно несколько версий Python, я хочу удалить существующий Python 2.7. Когда я пытаюсь сделать это, используя
Ubuntu предупреждает меня, что есть тонны системных компонентов, которые также будут удалены. Это выглядит действительно страшно.
Итак, есть ли способ удалить Python 2.7 без удаления системных зависимых компонентов, или я могу указать этим зависимостям использовать Python 3.3?
Ты не можешь
Долгосрочные планы (например, 14.04)
Переместите Python 2 во вселенную, перенесите все приложения Python в main на Python 3. Мы никогда полностью не избавимся от Python 2.7, но так как никогда не будет Python 2.8, а Python 2.7 будет ко времени почти 4 года выпуск 14.04 LTS, пришло время перенести Python 2 во вселенную.
Это означает, что у многих базовых пакетов есть жесткие зависимости от 2.7, и все же потребуется много времени для переноса вещей. Обратите внимание, что в Python 3 внесены многочисленные несовместимые изменения назад — это не обычное обновление пакета.
Если вы действительно хотите избавиться от Python 2.7, вам придется дождаться релиза 14.04, но гарантии нет.
Вы не можете, и вы действительно не хотите.
Python резко изменился между 2.7 и 3.0 и сломал обратную совместимость. Python скрипты, написанные для 2.7, которые используются для поддержки большого количества инфраструктуры системы, не обязательно будут работать должным образом с Python 3.x. Эти скрипты должны быть обновлены для работы с новой версией, и пока это не произойдет, вам нужно будет поддерживать Python 2.7.
Вот почему вы замечаете такое большое количество зависимостей на старом Python — система зависит от него. Кроме того, нет ничего плохого в том, что обе версии Python установлены в одной системе. И в будущем вы можете столкнуться с приложениями, которые все еще используют Python 2.7, поэтому держать его под рукой — хорошая идея.
Приехал сюда в 2019 году, потому что я развиваю в Python3 по умолчанию, и пришел к такому же выводу, как ОП после видящего Что бы быть удален после запуска apt purge python
Так что я действительно хотел было назвать Python3 только с python , я побежал
Таким образом, если Python2.7 все еще необходим, он может быть вызван явно с помощью python2.7 простого вызова по python умолчанию для Python3 из-за символической ссылки.
У меня нет скриптов уровня bash, с которыми вызывается python2.7, python так что это изменение не будет разрушительным — в то время как другим системам потребуется соответствующим образом скорректировать свои скрипты, если они это сделают.
Основным барьером на пути к распределению, переключающему команду python с python2 на python3, является не поломка внутри дистрибутива, а поломка приватных сторонних скриптов, разработанных sysadmins и другими пользователями.
Ответ на этот вопрос не является прямым ответом на OP, но как кто — то , кто имел подобный вопрос это функциональность я искал, когда я думал об удалении 2.7. Вместо того, чтобы удалять, просто расставьте приоритеты, какие из них использовать python .
Источник
Как удалить все следы питона с Убунту
Я хочу очистить все следы питона с моей Убунту. Есть ли какое-нибудь простое решение?
Для начала я думаю, что я должен удалить все пакеты pip. Я попробовал команду, как предлагалось здесь , но получил кучу сообщений о сбое:
Что мне делать? Этот ответ просит выполнить:
Должен ли я выполнить:? У меня есть пи-файлы по следующим адресам:
- \usr\lib\python2.7
- \usr\lib\python3\dist-пакеты
- \usr\lib\python3.8
Также этот неприемлемый ответ просит сделать:
В настоящее время я нахожусь на wsl2 Ubuntu. И я опасаюсь, потому что только сегодня, я (возможно) завинтил мою другую установку Ubuntu, случайно удалив все выше pythonXYZ папки. Теперь я не в состоянии ни удалить все следы питона, ни переустановить питон на эту машину. Это продолжает давать мне некоторую ошибку (может быть, для этого мне придется задать отдельный вопрос). Но как мне исправить WSL Ubuntu?
3 ответа
Пожалуйста, не .
Ubuntu зависит от различных Python версий для функциональности. Новые выбросы Ubuntu медленно смещаются на Python3 , но более старые версии Python все еще используются.
Вы можете перечислить некоторые важные пакеты Ubuntu и Gnome в вашей системе, которые зависят от Python3 , например, вроде так:
на Ubuntu 20.10 Desktop, эти Важным пакеты являются среди них:
Кроме того , такого питона не существует. Каждое системное обновление и каждый пакет, который вы устанавливаете, могут принести с помощью связанных с ней зависимостей Python.
Однако вы можете использовать PIP или PIP3 для удаления только пакетов, которые вы были ранее установлены вручную, и даже это не бесплатно рискнут.
Если вы уже удалили Python, попробуйте это или это , если вам нужно исправить. Шансы мало, хотя. Если вам удается исправить это, вам повезло.
Золотое правило . Оставьте змею в одиночку.
Это говорилось , используйте виртуальную среду Python для ваших проектов Python, и вам нельзя нуждаться в чистке или возвращении к чистому состоянию Ubuntu System Python.
Виртуальные среды Python создают изолированную среду для ваших проектов Python. Это означает, что каждый проект может иметь свои собственные зависимости, независимо от того, какие зависимости системы Ubuntu или другие проекты Python имеют.
Эта функция может быть установлена для Python3, как так:
, чтобы сделать виртуальную среду Python3 для проекта, вы сначала создаете каталог и CD , как это так:
Создайте новую виртуальную среду Python3 в каталоге, как так:
Это создаст такую структуру:
Чтобы использовать эту среду, активируйте ее так:
Ваша команда Shell покажет (ENV) Как и так:
Во время этого команда Python3 модуль устанавливает или модификации будут содержаться локально в этой виртуальной среде.
Когда вы закончите, деактивируйте эту виртуальную среду Python3, например:
Теперь вы вернетесь к системному Python3, а команды будут вступать в силу глобально, поэтому Будьте осторожны .
Проблема заключается в том, что выражение echo $ (tr -dc A-Za-z0-9 вычисляется только один раз, в момент, когда yes является lauchhed, поэтому все последующие итерации просто распечатывают результат этого выражения.
Или, лучше (бесстыдно украденный из @ steeldriver’s comment ):
Я нашел проблему. Монитор на моей звуковой карте был выключен в Pulseaudio Volume Control, также известный как pavucontrol
Просто установите Pulseaudio Volume Control из приложения Программного обеспечения или используйте sudo apt install pavucontrol
Затем запустите его, перейдите на вкладку Устройства ввода, а затем проверьте, является ли монитор вашей звуковой карты
Я не знаю, почему это было немыслимо, но, попробовав около ста вещей, я попробовал проверить настройки пульсодио и это исправило его.
Я с радостью согласен с вашим еретическим мнением, что жизнь намного лучше в системе без питона, как с ним. Проблема не только с реализацией языка, но и с концепциями его (это базовый скриптовый язык с сюрреалистическим синтаксисом, но он используется для сложных ОО-проектов). И наиболее важной проблемой является очень низкое качество доступной базы программного обеспечения, как библиотек, так и конечных продуктов, в той степени, в какой это ставит под угрозу даже сообщество с открытым исходным кодом и др. Но это только мое мнение, у других разные, иногда противоположные мнения. Здесь я только объясняю, как очистить питон от вашей системы для всех.
Вопреки распространенному мнению, вы можете очистить питон от всей вашей системы — это не важный пакет, к счастью. От него зависят некоторые инструменты и программные обеспечения, поэтому не исключено, что они вам понадобятся. При этом минимальному питону (если повезет, по крайней мере, не питону2) нужно оставаться. Другие упаковки (как node.js) зависят от этого без причины, также они должны быть очищены (в качестве альтернативы, разумный проект переупаковки не в зависимости от них будет полезным, надеюсь, кто-то однажды сделает это).
Зависимости пакетов являются DAG: все пакеты имеют список пакетов, от которых зависит, также они зависят от других пакетов и так далее.
Что вам нужно: сопоставьте эти зависимости и найдите их корень . Для этого имеются три наиболее важные команды:
- dpkg -s показывает, какие пакеты зависят от , если они установлены в системе. apt-cache show делает то же самое для пакета в кэше apt (пакеты доступны для установки в зарегистрированных репозиториях apt).
- apt-cache rdepends показывает, какие пакеты зависят от .
- dpkg -S/usr/bin/python3.6 показывает, какой пакет имеет /usr/bin/python3.6 . Обратите внимание, что /usr/bin/python обычно является символической ссылкой где-то в /etc/alternatives ,где имеется символьная ссылка на бинарный файл реального пакета, и они не являются частью зарегистрированных списков файлов пакетов (см. /var/lib/dpkg/info/* .list ). Так что, возможно, вам потребуется сопоставить symlinks с их реальной версией с помощью команд ls -l , а затем использовать dpkg -S для поиска пакета.
С их помощью можно найти пакет, от которого зависит весь пакет python. В случае питона это libpython2.7-minimal , или libpython3.6-minimal . Их можно перечислить с помощью dpkg -l ‘grep libpython. * minimal .
Тогда apt —purge remove libpython2.7-minimal очистит (удалит без следа, что они когда-либо существовали) питон полностью из вашей системы. Он также перечислит для вас, какие именно пакеты будут удалены, если у вас есть то, что вам действительно нужно, к сожалению, вы должны будете держать питона.
То же самое можно сделать, если требуется удалить другие крупные дистрибутивы программного обеспечения (например, X11 с серверов и подобий).
Источник
Удаление python3.9, установленного из третьей части
Вчера я сделал несколько проблем с моим ноутбуком, потому что я удалил python3 на Ubuntu 20.04, потому что я вручную установил python 3.9 из внешнего репозитория https://www.python.org / downloads / release / python-392 / .
Я потерял ubuntu-desktop , потому что узнал, что ОС по умолчанию использует python 3.8 для многих приложений. Хорошо, после многих усилий я переустановил ubuntu-desktop и python 3.8, и компьютер работает нормально. Но как удалить Python 3.9? Я пробовал классические команды, такие как purge или remove , но они не работают.
Когда я даю python3.8 , он дает мне версию по умолчанию для python 3.8, но если я даю python3 , он открывает оболочку в python 3.9.2.
Я также пробовал вариант, предложенный в ответе https://stackoverflow.com/questions/35047691/how-to-select-which-version-of-python-i-am-running-on- linux , но опять же не работает. Я просто хочу удалить этот пакет python 3.9, который я установил с python.org.
Когда я запускаю which python3.8 , я получаю путь /usr/bin/python3.8 , а новый python3 я скачал по предыдущей ссылке на pyhon.org , перейдите к загрузке и загрузите python 3.9.2, нажав кнопку.Я извлек файл и зашел в README с командами configure , make и make install .
1 ответ
Поскольку вы следовали инструкциям по установке Python 3.9.2, по-видимому, вы также выполнили make install с помощью sudo . Если вы это сделали, значит Python был установлен в / usr / local / . Исполняемый файл python3 помещается в / usr / local / bin / , который находится раньше в вашей переменной PATH (т. Е. В списке мест, которые ищутся при поиске программ). Вот почему, когда вы набираете python3 , вы получаете 3.9.2.
Вы можете подтвердить это, набрав env | grep ПУТЬ . Одна из строк начинается с PATH = , и это список мест, в которых выполняется поиск при поиске программ. Пути, указанные ранее в списке, имеют более высокий приоритет. Ваш список, вероятно, похож на мой. / usr / local / bin появляется перед / usr / bin .
Итак, чтобы решить вашу проблему, просто сотрите все следы Python 3.9. Он находится в / usr / local / . Сделайте это, чтобы удалить их, и да, вам нужно будет использовать sudo :
- sudo rm -f -r /usr/local/lib/python3.9
- sudo rm -f -r / usr / local / include / python3.9
- sudo rm -f -r /usr/local/lib/libpython3.9.a
Наконец, cd / usr / local / bin / . Здесь вам нужно будет удалить все соответствующие файлы.К сожалению, они не содержатся в каталоге, который можно стереть, поэтому вам придется удалять их один за другим, используя sudo . Я считаю, что это те файлы, которые вам нужно стереть (я только что установил Python 3.9.2, чтобы воспроизвести то, что вы видели). Очевидно, больше ничего не стирайте:
После того, как вы все это сделаете, в новой оболочке вы можете ввести which python3 , и он должен сообщить / usr / bin / python3 . Если затем вы наберете ls -al / usr / bin / python3 , вы можете увидеть что-то вроде этого:
Это символическая ссылка (т.е. «ярлык Windows»), указывающая на python3 на python3.8 .
Между прочим, ответ по указанной вами ссылке не актуален. Это для случая, когда кто-то установил две версии Python из Репозитории Ubuntu. В вашем случае вторая версия была установлена с веб-сайта Python, за пределами репозиториев Ubuntu. Так что ответ по этой ссылке вам не поможет.
Таким образом, когда вы загрузили Python с веб-сайта Python , скомпилировал и установил его, он помещен в / usr / local / bin / . Он никоим образом не «зарегистрирован» в системе Ubuntu. Все, что он сделал, это поместил в место, которое выполняется сначала перед / bin / . Таким образом, нет единой кнопки, которую можно было бы нажать, чтобы удалить все следы. Вам просто нужно зайти в / usr / local / и удалить ее вручную . С тех пор там будут другие программы, вы не можете удалить их все . вам нужно зайти и удалить файл или каталог за раз. Как только вы это сделаете, сначала будет найден Python 3.8.
Я думаю, что теперь это правильно; Надеюсь, это поможет.
Источник
Ubuntu, как вы удалите все Python 3, но не 2
Недавно я получил сервер RackSpace Ubuntu, и он повсюду имеет питонов:
IPython в 3.5, Pandas в 3.4 и 2.7, мне нужны такие модули, как pyodbc и т. д., только в 2,7
Поэтому я стремлюсь очистить коробку и, как пользователи 2.7, сохранить все в 2.7.
Таким образом, ключевой вопрос заключается в том, есть ли способ удалить одновременно 3.4 и 3.5 одновременно с сохранением Python 2.7?
6 ответов
В итоге я решил, что вы не можете удалить 3.4, так как это по умолчанию в Ubuntu.
Я просто удалил Jupyter , а затем псевдоним python=python2.7 и снова установил все пакеты на Python 2.7.
Возможно, я могу установить virtualenv , но я и мои коллеги используем только 2.7. Я просто буду ленив в этом случае 🙂
Прежде всего, не пытайтесь выполнить следующую команду, предложенную Жерменом выше.
В Ubuntu многие программы зависят от Python3, поэтому, если вы выполните эту команду, она удалит их все, как это случилось со мной. Я нашел следующий ответ полезным, чтобы восстановить его.
Если вы хотите использовать разные версии Python для разных проектов, то создавайте виртуальные среды, это будет очень полезно. перейдите по следующей ссылке для создания виртуальных сред.
Создание виртуальной среды также помогает в использовании Tensorflow и Keras в Jupyter Notebook.
Ни попробуйте ни один из перечисленных выше способов, ни sudo apt autoremove python3 , потому что он удалит из вашей системы все приложения на основе gnome, включая gnome-терминал. В случае, если вы допустили эту ошибку и оставили только Kernal, попробуйте sudo apt install gnome в Kernal.
Попробуйте изменить версию Python по умолчанию вместо удаления. Вы можете сделать это с помощью команды bashrc file или путь экспорта .
Его просто попробуйте: sudo apt-get remove python3.7 или версии, которые вы хотите удалить
Удаление Python 3 было худшим, что я сделал с тех пор, как недавно перешел в мир Linux. Он удалил Firefox, мою программу запуска и, как я читал, пытаясь решить мою проблему, он также может удалить ваш рабочий стол и терминал! Наконец исправлено после долгого дневного кошмара. Только не удаляйте Python 3. Держите его там!
Если это произойдет с вами, вот исправление:
РЕДАКТИРОВАТЬ . Как отмечалось в последних комментариях, это решение может сломать вашу систему.
Скорее всего, вы не хотите удалять python3.
Пожалуйста, обратитесь к другим ответам для возможных решений.
устаревший ответ (не рекомендуется)
Источник