Как обновить Python?

У меня есть версия 2.7, установленная с начала 2012 года. Я не могу найти консенсуса относительно того, следует ли полностью удалить и стереть эту версию, прежде чем вставлять последнюю версию.

"Мягкий" - удаление старых версий? Устранение/стирание старых версий? Установка сверху?

Я видел где-то специальный процесс установки/обновления с использованием метода "сегментации" для Python-установок, поддерживая разные версии отдельно и отдельно, но функционально. Не уверен, что это стандартный, де-факто путь.

Я также задаюсь вопросом, слишком ли переусердствует Revo, и может ли он вызывать ненужные остатки, такие как переменные среды /PATH.

(Win7 x64, 32-разрядный Python)

Ответ 1

ОБНОВЛЕНИЕ: 2017-03-34

С июня 2015 года обновления Python (x, y) не обновлялись, поэтому я считаю безопасным предположить, что он был оставлен.

ОБНОВЛЕНИЕ: 2016-11-11

Как @cxw комментарии ниже, эти ответы предназначены для одних и тех же бит-версий, а по битовой версии - 64-битные или 32-разрядные. Например, эти ответы будут применены к обновлению с 64-разрядного Python-2.7.10 до 64-битного Python-2.7.11, то есть: той же бит-версии. Хотя можно установить две разные битовые версии Python вместе, это потребует некоторого взлома, поэтому я сохраню это упражнение для читателя. Если вы не хотите взломать, я предлагаю, чтобы при переключении бит-версий сначала удалили другую бит-версию.

ОБНОВЛЕНИЯ: 2016-05-16

  • Anaconda и MiniConda может быть используется с существующей установкой Python, отключив параметры для изменения Windows PATH и реестра. После извлечения создайте символическую ссылку на conda в bin или установите conda из PyPI. Затем создайте еще одну символическую ссылку с именем conda-activate to activate в папке корневого bin Anaconda/Miniconda. Теперь Anaconda/Miniconda - это как Ruby RVM. Просто используйте conda-activate root, чтобы включить Anaconda/Miniconda.
  • Portable Python больше не разрабатывается и не поддерживается.

TL; DR

  • та же самая основная версия (например, 2.7.5), просто установите поверх старого (например, 2.7.4),
  • различная основная версия (например, 3.3), установите бок о бок со старыми, задайте пути/ассоциации, чтобы указать на доминирующие (например, 2.7), ярлык для другого (например, в BASH $ ln /c/Python33/python.exe python3).

Ответ зависит:

  • Если OP имеет 2.7.x и хочет установить более новую версию 2.7.x, тогда

    • при использовании установщика MSI на официальном веб-сайте , просто установите поверх старой версии, установщик выпустит предупреждение о том, что он удалит и заменит старую версию; глядя в "установленные программы" в "панели управления" до и после подтверждает, что старая версия была заменена новой версией; более новые версии 2.7.x совместимы с обратной связью, поэтому это абсолютно безопасно, поэтому IMHO несколько версий 2.7.x никогда не должны быть необходимы.
    • если вы строите из исходного кода, то вам, вероятно, следует построить свежий чистый каталог, а затем указать свой путь к новой сборке после прохождения всех тестов, и вы уверены, что она была успешно построена, но вы можете пожелать держите старое здание вокруг, потому что из источника иногда могут возникать проблемы. См. Руководство для создания Python x64 в Windows 7 с помощью SDK 7.0.
    • при установке из дистрибутива, такого как Python (x, y), см. их сайт. Python (x, y) был оставлен. Я считаю, что обновления могут обрабатываться из Python ( x, y) с менеджером пакетов, но обновления также включены на их веб-сайт. Я не мог найти конкретную ссылку, поэтому, возможно, кто-то еще может с этим поговорить. Подобно ActiveState и, возможно, Enthought, Python (x, y) четко заявляет, что он несовместим с другими установками Python:

      Рекомендуется удалить любой другой дистрибутив Python перед установкой Python (x, y)

    • Enthought Canopy использует MSI и будет устанавливать либо в Program Files\Enthought, либо home\AppData\Local\Enthought\Canopy\App для всех пользователей или для каждого пользователя соответственно. Новые установки обновляются с помощью встроенного инструмента обновления. См. Документацию .
    • ActiveState также использует MSI, поэтому более старые установки могут быть установлены поверх старых. См. Их примечания по установке.

      Другие установки Python 2.7 В Windows ActivePython 2.7 не может сосуществовать с другими установками Python 2.7 (например, Python 2.7 build from python.org). Перед установкой ActivePython 2.7 удалите все другие установки Python 2.7.

    • Sage рекомендует установить его на виртуальную машину и предоставить файл образа Oracle VirtualBox, который можно использовать для этой цели. Обновления обрабатываются внутренне, вызывая команду sage -upgrade.
    • Anaconda может быть обновлен с помощью conda команда:

      conda update conda
      conda update anaconda
      

      Anaconda/Miniconda позволяет пользователям создавать среды для управления несколькими версиями Python, включая Python-2.6, 2.7, 3.3, 3.4 и 3.5. Корневые установки Anaconda/Miniconda в настоящее время основаны либо на Python-2.7, либо на Python-3.5.

      Anaconda, вероятно, нарушит любые другие установки Python. Установка использует установщик MSI. [ UPDATE: 2016-05-16] Anaconda и Miniconda теперь используют установщики .exe и предоставляют опции для отключения изменений Windows PATH и Registry.

      Поэтому Anaconda/Miniconda может быть установлен без нарушения существующих установок Python в зависимости от того, как он был установлен, и опций, которые были выбраны во время установки. Если используется установщик .exe, и параметры для изменения Windows PATH и реестра не отключены, любые предыдущие установки Python будут отключены, но просто удаление установки Anaconda/Miniconda должно восстановить исходную установку Python, за исключением, может быть, Реестр Windows Python\PythonCore.

      Anaconda/Miniconda выполняет следующие изменения реестра независимо от параметров установки: HKCU\Software\Python\ContinuumAnalytics\ со следующими ключами: Help, InstallPath, Modules и PythonPath - официальный Python также регистрирует эти ключи, но Python\PythonCore. Также информация о деинсталляции зарегистрирована для Anaconda\Miniconda. Если вы не установите параметр "Регистрация с Windows" во время установки, он не создает PythonCore, поэтому интеграция, такая как Python Tools для Visual Studio, автоматически не видит Anaconda/Miniconda. Если опция регистрации Anaconda/Miniconda включена, то, я думаю, ваши существующие ключи реестра Windows Python будут изменены, и удаление, вероятно, не восстановит их.

    • WinPython обновления, я думаю, могут обрабатываться через Панель управления WinPython.
    • PortablePython больше не разрабатывается. У него не было метода обновления. Возможно, обновления могут быть распакованы в новый каталог, а затем App\lib\site-packages и App\Scripts могут быть скопированы в новую установку, но если это не сработает, возможно, потребуется переустановка всех пакетов. Используйте pip list, чтобы узнать, какие пакеты были установлены и их версии. Некоторые из них были установлены с помощью PortablePython. Используйте easy_install pip для установки pip, если он не был установлен.
  • Если OP имеет 2.7.x и хочет установить другую версию, например. <= 2.6.x или >= 3.x.x, тогда установка разных версий бок о бок в порядке. Вы должны выбрать, какую версию Python (если есть) ассоциировать с файлами *.py и которые вы хотите на своем пути, хотя вы должны иметь возможность устанавливать оболочки с разными путями, если вы используете BASH. AFAIK 2.7.x обратная совместимость с 2.6.x, поэтому установки IMHO бок о бок не нужны, однако Python-3.xx не имеет обратной совместимости, поэтому моя рекомендация заключалась бы в том, чтобы поставить Python-2.7 на ваш путь и Python-3 - это дополнительная версия, создавая ярлык для своего исполняемого файла под названием python3 (это обычная настройка в Linux). Официальный установочный путь Python по умолчанию в Windows -

    • C:\Python33 для 3.3.x(последняя версия 2013-07-29)
    • C:\Python32 для 3.2.x
    • &. С
    • C:\Python27 для 2.7.x(последние 2013-07-29)
    • C:\Python26 для 2.6.x
    • &. С
  • Если OP не обновляет Python, а просто обновляет пакеты, они могут захотеть просмотреть virtualenv, чтобы сохранить разные версии пакетов, специфичных для их проектов разработки, раздельно. Pip - отличный инструмент для обновления пакетов. Если в пакетах используются двоичные установщики, я обычно удаляю старый пакет перед установкой нового.

Надеюсь, это устранит любую путаницу.

Ответ 2

Лучшее решение - установить разные версии Python по нескольким путям.

например. C:\Python27 для 2.7 и C:\Python33 для 3.3.

Прочтите это для получения дополнительной информации: Как запустить несколько версий Python в Windows

Ответ 3

Я всегда просто устанавливал новую версию сверху и никогда не возникал проблем. Убедитесь, что ваш путь обновлен, чтобы указать на новую версию.