Installazione / aggiornamento di Python utilizzando Chocolatey Windows Package Manager
Supponiamo che tu abbia Python 2.7.16:
C:\Windows\system32>python --version
python2 2.7.16
... e desideri eseguire l'aggiornamento alla versione 3.xy (ora attuale). C'è un modo semplice per installare un'installazione parallela di Python 3.xy utilizzando uno strumento di gestione dei pacchetti di Windows.
Ora che Windows moderno ha la gestione dei pacchetti, proprio come le distribuzioni Debian Linux hanno apt-get, e RedHat ha dnf: possiamo metterlo al lavoro per noi! Si chiama Chocolatey .
Cos'è Chocolatey?
Chocolatey è uno strumento da riga di comando con script basato su .NET 4.0 e il gestore di pacchetti nuget integrato in Visual Studio.
Se vuoi conoscere Chocolatey e perché usarlo, cosa che alcuni qui leggendo potrebbero trovare particolarmente utile, vai su https://chocolatey.org/docs/why
Installazione di Chocolatey
Per ottenere Chocolatey Package Manager, segui un processo descritto su https://chocolatey.org/docs/installation#installing-chocolatey ,
Te lo riassumerò qui. Esistono fondamentalmente due opzioni: utilizzando il prompt di cmd o utilizzando il prompt di PowerShell.
CMD Prompt Chocolatey Installation
Avvia un prompt dei comandi amministrativo . Su Windows 10, per fare questo:
- Windows+R
- Digita cmd
- Premi ctrl+ shift+Enter
Se non disponi dei diritti di amministratore sul sistema, vai al sito Web Chocolatey . Potresti non essere completamente sfortunato e puoi eseguire un'installazione locale limitata, ma non ne parlerò qui.
- Copia la stringa di seguito nel prompt dei comandi e digita Invio:
@"%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 verrà scaricato e installato per te come di seguito:
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
O Uscire prompt CMD o digitare il seguente comando per ricaricare le variabili di ambiente:
refreshenv
Installazione di PowerShell Chocolatey
Se preferisci PowerShell al prompt di cmd, puoi farlo direttamente da lì, tuttavia dovrai dire a PowerShell di eseguire con un criterio di esecuzione dello script appropriato per farlo funzionare. Su Windows 10, il modo più semplice che ho trovato per farlo è digitare quanto segue nella barra di ricerca di Cortana accanto al pulsante Windows:
PowerShell.exe
Quindi, fai clic con il pulsante destro del mouse sulla scelta "Migliore corrispondenza" nel menu che si apre e seleziona "Esegui come amministratore"
Ora che sei in PowerShell, si spera in esecuzione con i privilegi di amministratore, esegui quanto segue per installare Chocolatey:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
PowerShell scaricherà Chocolatey per te e avvierà l'installazione. Ci vogliono solo pochi istanti. Sembra esattamente come l'installazione di CMD, salvo forse del testo colorato di fantasia.
Sia Exit PowerShell o digitare il seguente comando per ricaricare le variabili di ambiente:
refreshenv
Aggiornamento di Python
Il comando choco è lo stesso sia che si utilizzi PowerShell o il prompt di cmd. Avvia il tuo preferito usando le istruzioni come sopra. Userò il prompt cmd dell'amministratore:
C:\WINDOWS\system32>choco upgrade python -y
In sostanza, chocolatey ti dirà "Ehi, Python non è installato" dato che vieni dalla 2.7.xe tratta la versione 2.7 come completamente separata. E ' solo sta per darvi la versione più recente, 3.xy (come di questa scrittura, 3.7.2, ma che cambierà in pochi mesi):
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).
O uscire dal cmd / Powershell rapido e reimmetterla, o uso refreshenv digitare 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
Nota che l'installazione di Python più recente ora avrà il sopravvento quando digiti Python dalla riga di comando. È possibile eseguire entrambe le versioni utilizzando i seguenti comandi:
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:\>
Da qui ti suggerisco di utilizzare l' utility Python pip per installare tutti i pacchetti di cui hai bisogno. Ad esempio, supponiamo che tu voglia installare Flask. I comandi seguenti prima aggiornano pip, quindi installano 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
... farà il trucco. Buon Pythoning!