Как я могу удалить питон 2.7 после установки питона 3.3?


20

Я успешно установлен Python 3.3 на Ubuntu 12.10. Поскольку мне не нужно несколько версий Python, я хочу удалить существующий Python 2.7. Когда я пытаюсь сделать это, используя

sudo apt-get remove python2.7

Ubuntu предупреждает меня, что есть тонны системных компонентов, которые также будут удалены. Это выглядит действительно страшно.

Итак, есть ли способ удалить Python 2.7 без удаления системных зависимых компонентов, или я могу указать этим зависимостям использовать Python 3.3?


2
Я бы не рекомендовал это. Версия Python не на всех так совместимых, так что старые скрипты могут иметь проблемы опыт , если вы не будете иметь правильную версию.
Tikend

вы правы, python3.3 объявил, что он несовместим с python 2.7. Таким образом, я лучше просто держать его. Спасибо за совет!
феникс Bai

Ответы:


23

Ты не можешь

В Ubuntu вики / Python :

Долгосрочные планы (например, 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, но гарантии нет.


3
Это 16,04, теперь.
Муру

Это 18,04, теперь.
Франческо

Сейчас 19.04 фу! И сейчас
Genarito

5

Вы не можете, и вы действительно не хотите.

Python резко изменился между 2.7 и 3.0 и сломал обратную совместимость. Python скрипты, написанные для 2.7, которые используются для поддержки большого количества инфраструктуры системы, не обязательно будут работать должным образом с Python 3.x. Эти скрипты должны быть обновлены для работы с новой версией, и пока это не произойдет, вам нужно будет поддерживать Python 2.7.

Вот почему вы замечаете такое большое количество зависимостей на старом Python - система зависит от него. Кроме того, нет ничего плохого в том, что обе версии Python установлены в одной системе. И в будущем вы можете столкнуться с приложениями, которые все еще используют Python 2.7, поэтому держать его под рукой - хорошая идея.


3

Приехал сюда в 2019 году, потому что я развиваю в Python3 по умолчанию, и пришел к такому же выводу, как ОП после видящего Что бы быть удален после запуска apt purge python

Так что я действительно хотел было назвать Python3 только с python, я побежал

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3 /usr/bin/python

Таким образом, если Python2.7 все еще необходим, он может быть вызван явно с помощью python2.7простого вызова по pythonумолчанию для Python3 из-за символической ссылки.

У меня нет скриптов уровня bash, с которыми вызывается python2.7, pythonтак что это изменение не будет разрушительным - в то время как другим системам потребуется соответствующим образом скорректировать свои скрипты, если они это сделают.

Основным барьером на пути к распределению, переключающему команду python с python2 на python3, является не поломка внутри дистрибутива, а поломка приватных сторонних скриптов, разработанных sysadmins и другими пользователями.

- Команда "python" в Unix-подобных системах

Ответ на этот вопрос не является прямым ответом на OP, но как кто - то , кто имел подобный вопрос это функциональность я искал, когда я думал об удалении 2.7. Вместо того, чтобы удалять, просто расставьте приоритеты, какие из них использовать python.


1
Это кажется мне плохой идеей. Любые старые скрипты, созданные для Python 2, будут вызывать /usr/bin/python, в то время как почти каждый скрипт, созданный для Python 3, будет знать об изменениях и будет звонить python3в настоящее время. Позволить pythonпункт python2.7менее вероятно, ломать вещи.
Видарло

Я бы сказал, что это зависит от среды, как я сказал, что я не делаю скрипты, которые требуют python2 и работают в 3 - в то время как если бы я сделал подобное изменение на одной из наших станций в работе, выполняющей автоматизированные скрипты, это было бы очень разрушительным ,
saniboy

Существуют ли конкретные системные процессы , вы могли бы список, вызов / USR / бен / питона? Я всегда открыт для изменения моего ума , когда представил новую информацию
saniboy

Я нахожу немало в 18.04. grep -r "/usr/bin/python" /usr/bin/должны дать вам обзор кратко. Это, вероятно , не отключить систему, но это может сделать некоторые вещи не работают. Например solaar.
vidarlo

1
В системе, которую я проверял, есть 39, в которых нет явной ссылки на python3 или python2. Все те, вероятно , python2. Это, конечно, зависит от того, что вы установили, но я также не вижу
особой
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.