Установка / обновление Python с помощью диспетчера пакетов Windows Chocolatey
Допустим, у вас есть Python 2.7.16:
C:\Windows\system32>python --version
python2 2.7.16
... и вы хотите перейти на (текущую) версию 3.xy. Существует простой способ установить параллельную установку Python 3.xy с помощью инструмента управления пакетами 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 Быстрая шоколадная установка
Запустите административную командную строку. В Windows 10 для этого:
- Windows+R
- Введите cmd
- Нажмите ctrl+ shift+Enter
Если у вас нет прав администратора в системе, перейдите на сайт 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
Либо Выход УМК строки или введите следующую команду , чтобы перезагрузить переменные окружения:
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.xy (по состоянию на момент написания данной статьи 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
... сделает свое дело. Удачного питонинга!