У меня установлен Python 2.7.11 на одной из моих ЛАБОРАТОРНЫХ станций. Я хотел бы обновить Python как минимум до 3.5.

Как мне это сделать? Должен ли я предпочесть полностью удалить 2.7.11, а не установить новый? Есть ли способ его обновить? Обновление - хорошая идея?

Moshe S.

Ответов: 10

Ответы (10)

Каждая младшая версия Python, то есть любая версия 3.x и 2.x, будет устанавливаться на вашем компьютере параллельно с другими версиями. Только патч-версии обновят существующие установки.

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

Текущие установки Python 3 поставляются с программой запуска py.exe, которая по умолчанию устанавливается в системный каталог. Это делает его доступным из PATH, поэтому вы можете автоматически запускать его из любой оболочки, просто используя py вместо python в качестве команды. Это избавляет вас от необходимости самостоятельно помещать текущую установку Python в PATH. Таким образом, вы можете легко установить несколько версий Python одновременно, не мешая друг другу. При запуске просто используйте py script.py вместо python script.py, чтобы использовать средство запуска. Вы также можете указать версию, используя, например, py -3 или py -3.6 для запуска определенной версии, в противном случае средство запуска будет использовать текущее значение по умолчанию (которое обычно будет последним 3 .x).

Используя средство запуска, вы также можете запускать скрипты Python 2 (синтаксис которых часто несовместим с Python 3), если вы решите сохранить установку Python 2.7. Просто используйте py -2 script.py для запуска скрипта.


Что касается пакетов PyPI, каждая установка Python поставляется с собственной папкой, в которую устанавливаются модули. Поэтому, если вы устанавливаете новую версию и хотите использовать модули, которые вы установили для предыдущей версии, вам придется сначала установить их для новой версии. Текущие версии установщика также предлагают установить pip; он включен по умолчанию, поэтому у вас уже есть pip для каждой установки. Если вы явно не добавите установку Python в PATH, вы не можете просто использовать pip. К счастью, вы также можете просто использовать для этого программу запуска py.exe: py -m pip run pip. Так, например, чтобы установить Beautiful Soup для Python 3.6, вы можете запустить py -3.6 -m pip install beautifulsoup4.

Вы можете использовать pyenv. Это позволяет легко переключаться между всеми версиями python.

Python 2.x и Python 3.x разные. Если вы хотите загрузить более новую версию Python 2, вы можете просто загрузить и установить более новую версию.

Если вы хотите установить Python 3, вы можете установить Python 3 отдельно, а затем изменить путь для Python 2.x на Python 3.x в Панели управления> Все элементы панели управления> Система> Расширенные настройки системы> Переменные среды.

Установка / обновление Python с помощью диспетчера пакетов Windows Chocolatey

Допустим, у вас Python 2.7.16:

    C:\Windows\system32>python --version
    python2 2.7.16

... и вы хотите перейти на (текущую) версию 3.x.y. Существует простой способ установить параллельную установку Python 3.x.y с помощью инструмента управления пакетами Windows.

Теперь, когда в современной Windows есть управление пакетами, точно так же, как в дистрибутивах Debian Linux есть apt-get, а в RedHat есть dnf: мы можем заставить его работать на себя! Он называется Шоколадный.

Что такое шоколадный?

Chocolatey - это инструмент командной строки с поддержкой сценариев, основанный на .NET 4.0 и диспетчере пакетов nuget, встроенном в Visual Studio.

Если вы хотите узнать о Chocolatey и о том, почему его использовать, что может оказаться особенно полезным для некоторых читателей, перейдите по ссылке https://chocolatey.org/docs/why

Установка Chocolatey

Чтобы получить диспетчер пакетов Chocolatey, вы следуете процессу, описанному в https://chocolatey.org/docs/installation#installing-chocolatey,

Я резюмирую это для вас здесь. Есть два основных варианта: использовать командную строку или командную строку PowerShell.

CMD Prompt Chocolatey Установка

Запустить административную командную строку. В Windows 10 для этого:

  • Windows+R
  • Тип cmd
  • Нажмите ctrl+shift+Введите

Если у вас нет прав администратора в системе, перейдите на сайт Chocolatey. Возможно, вам не совсем повезло, и вы сможете выполнить ограниченную локальную установку, но я не буду здесь останавливаться на этом.

  • Скопируйте приведенную ниже строку в командную строку и введите Enter:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

Chocolatey будет загружен и установлен для вас, как показано ниже:

Getting latest version of the Chocolatey package for download.
Getting Chocolatey from https://chocolatey.org/api/v2/package/chocolatey/0.10.11.
Downloading 7-Zip commandline tool prior to extraction.
Extracting C:\Users\blahblahblah\AppData\Local\Temp\chocolatey\chocInstall\chocolatey.zip to C:\Users\blahblahblah\AppData\Local\Temp\chocolatey\chocInstall...
Installing chocolatey on this machine
Creating ChocolateyInstall as an environment variable (targeting 'Machine')
  Setting ChocolateyInstall to 'C:\ProgramData\chocolatey'
WARNING: It's very likely you will need to close and reopen your shell
  before you can use choco.
Restricting write permissions to Administrators
We are setting up the Chocolatey package repository.
The packages themselves go to 'C:\ProgramData\chocolatey\lib'
  (i.e. C:\ProgramData\chocolatey\lib\yourPackageName).
A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin'
  and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'.

Creating Chocolatey folders if they do not already exist.

WARNING: You can safely ignore errors related to missing log files when
  upgrading from a version of Chocolatey less than 0.9.9.
  'Batch file could not be found' is also safe to ignore.
  'The system cannot find the file specified' - also safe.
chocolatey.nupkg file not installed in lib.
 Attempting to locate it from bootstrapper.
PATH environment variable does not have C:\ProgramData\chocolatey\bin in it. Adding...
WARNING: Not setting tab completion: Profile file does not exist at 'C:\Users\blahblahblah\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.
Chocolatey (choco.exe) is now ready.
You can call choco from anywhere, command line or powershell by typing choco.
Run choco /? for a list of functions.
You may need to shut down and restart powershell and/or consoles
 first prior to using choco.
Ensuring chocolatey commands are on the path
Ensuring chocolatey.nupkg is in the lib folder

Либо Закройте приглашение CMD, или введите следующую команду, чтобы перезагрузить переменные среды:

refreshenv

Установка PowerShell Chocolatey

Если вы предпочитаете PowerShell командной строке, вы можете сделать это прямо оттуда, однако вам нужно будет указать PowerShell для запуска с правильной политикой выполнения сценария, чтобы заставить его работать. В Windows 10 самый простой способ, который я нашел для этого, - это ввести в строку поиска Cortana рядом с кнопкой Windows следующее:

PowerShell.exe

Затем щелкните правой кнопкой мыши пункт «Лучшее совпадение» во всплывающем меню и выберите «Запуск от имени администратора»

Теперь, когда вы находитесь в PowerShell и, надеюсь, работаете с правами администратора, выполните следующее, чтобы установить Chocolatey:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

PowerShell скачает за вас Chocolatey и запустит установку. Это займет всего несколько минут. Он выглядит в точности как установка CMD, за исключением, возможно, какого-то необычного цветного текста.

Либо Закройте PowerShell, или введите следующую команду, чтобы перезагрузить переменные среды:

refreshenv

Обновление Python

Команда choco одинакова независимо от того, используете ли вы PowerShell или командную строку. Запустите свой любимый, используя инструкции, как указано выше. Я воспользуюсь командной строкой администратора:

C:\WINDOWS\system32>choco upgrade python -y

По сути, chocolatey скажет вам: «Эй, Python не установлен», так как вы используете версию 2.7.x, и он рассматривает версию 2.7 как полностью отдельно. только даст вам самую последнюю версию 3.x.y (на момент написания статьи - 3.7.2, но это изменится через несколько месяцев):

Chocolatey v0.10.11
Upgrading the following packages:
python
By upgrading you accept licenses for the packages.
python is not installed. Installing...

python3 v3.x.y [Approved]
python3 package files upgrade completed. Performing other installation steps.
Installing 64-bit python3...
python3 has been installed.
Installed to: 'C:\Python37' 
  python3 can be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
 see the changes (or in powershell/cmd.exe just type `refreshenv`).
 The upgrade of python3 was successful.
  Software installed as 'exe', install location is likely default.

python v3.x.y [Approved]
python package files upgrade completed. Performing other installation steps.
 The upgrade of python was successful.
  Software install location not explicitly set, could be in package or
  default install location if installer.

Chocolatey upgraded 2/2 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Либо выйдите из командной строки cmd / Powershell и введите ее повторно, либо используйте команду refreshenv и введите py --version

C:\Windows\System32>refreshenv
Refreshing environment variables from registry for cmd.exe. Please wait...Finished..

C:\Windows\system32>py --version
Python 3.7.2

Обратите внимание, что последняя установка Python теперь вступает в силу, когда вы вводите Python в командной строке. Вы можете запустить любую версию, используя следующие команды:

py -2
Python 2.7.16 (v2.7.16:413a49145e, Mar  4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

C:\>py -3
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>exit()
C:\>

Отсюда я предлагаю вам использовать утилиту Python pip для установки любых пакетов, которые вам нужны. Например, предположим, что вы хотите установить Flask. Команды ниже: сначала обновите pip, затем установите Flask

C:\>py -3 -m pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/d8/f3/413bab4ff08e1fc4828dfc59996d721917df8e8583ea85385d51125dceff/pip-19.0.3-py2.py3-none-any.whl (1.4MB)
    100% |████████████████████████████████| 1.4MB 1.6MB/s
Installing collected packages: pip
  Found existing installation: pip 18.1
    Uninstalling pip-18.1:
      Successfully uninstalled pip-18.1
Successfully installed pip-19.0.3

c:\>py -3 -m pip install Flask

... подойдет. Удачного питонинга!

В 2019 можно установить, используя шоколадный. Откройте ваш cmd или powershell, введите «choco install python».

Мне удалось запустить PowerShell с помощью следующей команды, и python обновился без проблем. python -m pip install --upgrade pip см. изображение

Просто установите установщик новейшей версии python, он автоматически определит вашу версию python, скажет обновить python и начнет обновление

Для меня быстрым и безболезненным способом было сделать следующее:

  1. Сделайте pip freeze> requirements.txt в моих затронутых средах (или любым другим способом, который вы хотите для резервного копирования ваших требований)
  2. Удалите старую версию Python (в моем случае это была 3.8)
  3. Удалить связанные среды
  4. Установить новую версию (в моем случае 3.9.5)
  5. Воссоздать мою среду python -m venv venv или как хотите
  6. Переустановите мои плагины / приложения pip install -r requirements.txt или как хотите

python -m pip install --upgrade pip

Если вы обновляете любую версию Python с 3.x.y до 3.x.z (патч), просто перейдите на страницу загрузок Python получите последнюю версию и начните установку. Поскольку у вас уже установлен Python на вашем компьютере, установщик предложит вам «Обновить сейчас». Нажмите на эту кнопку, и она заменит существующую версию новой. Вам также придется перезагрузить компьютер после установки.

enter image description here

Если вы обновляетесь с 3.x до 3.y (второстепенная), вам будет предложено «Установить сейчас». В этом случае вы не выполняете обновление, а устанавливаете новую версию Python. На вашем компьютере может быть установлено несколько версий. Они будут расположены в разных каталогах. Если на вашем компьютере установлено несколько версий Python, вам нужно будет использовать py lanucher для запуска определенной версии Python.

Например:

py -3,7

или

py -3,8

Убедитесь, что на вашем компьютере установлена ​​py launcher. Он будет установлен автоматически, если вы используете настройки установщика Windows по умолчанию. Вы всегда можете проверить это, щелкнув ссылку «Настроить установку» в окне установки.

Если на вашем компьютере установлено несколько версий Python и у вас есть проект, в котором используется предыдущая версия Python с использованием виртуальной среды, например. (venv) вы можете обновить Python только в этом venv, используя:

python -m venv --upgrade "путь к виртуальной среде"

Например, у меня есть Python 3.7 в моей виртуальной среде ./venv, и я хотел бы обновить venv до Python 3.8, я бы сделал следующее

python -m venv --upgrade ./venv

2022 WebDevInsider