J'ai un Python 2.7.11 installé sur l'une de mes stations LAB. Je souhaite mettre à niveau Python vers la version 3.5 au moins.
Comment devrais-je faire ça? Devrais-je préférer désinstaller complètement 2.7.11 et installer le nouveau? Y a-t-il un moyen de le mettre à jour? Une mise à jour est-elle une bonne idée?
Chaque version mineure de Python, qu'il s'agisse d'une version 3.x ou 2.x, s'installera côte à côte avec d'autres versions sur votre ordinateur. Seules les versions de correctifs mettront à niveau les installations existantes.
Donc, si vous voulez conserver votre Python 2.7 installé, laissez-le simplement et installez une nouvelle version à l'aide du programme d'installation. Si vous souhaitez vous débarrasser de Python 2.7, vous pouvez le désinstaller avant ou après l'installation d'une version plus récente. Il n'y a aucune différence.
Les installations actuelles de Python 3 sont fournies avec le lanceur py.exe
qui, par défaut, est installé dans le répertoire système. Cela le rend disponible à partir de PATH, vous pouvez donc l'exécuter automatiquement à partir de n'importe quel shell en utilisant simplement py
au lieu de python
comme commande. Cela vous évite d'avoir à mettre vous-même l'installation actuelle de Python dans PATH. De cette façon, vous pouvez facilement avoir plusieurs installations Python côte à côte sans qu’elles se gênent les unes les autres. Lors de l'exécution, utilisez simplement py script.py
au lieu de python script.py
pour utiliser le programme de lancement. Vous pouvez également spécifier une version en utilisant par exemple py -3
ou py -3.6
pour lancer une version spécifique, sinon le programme de lancement utilisera la valeur par défaut actuelle (qui sera généralement la dernière version 3.x).
À l'aide du programme de lancement, vous pouvez également exécuter des scripts Python 2 (dont la syntaxe est souvent incompatible avec Python 3) si vous décidez de conserver votre installation Python 2.7. Utilisez simplement py -2 script.py
pour lancer un script.
En ce qui concerne les packages PyPI, chaque installation Python est fournie avec son propre dossier dans lequel les modules sont installés. Donc, si vous installez une nouvelle version et que vous souhaitez utiliser les modules que vous avez installés pour une version précédente, vous devrez d'abord les installer pour la nouvelle version. Les versions actuelles du programme d'installation vous proposent également d'installer pip
; activé par défaut, vous avez donc déjà pip
pour chaque installation. Sauf si vous ajoutez explicitement une installation Python à PATH, vous ne pouvez pas simplement utiliser pip
. Heureusement, vous pouvez aussi simplement utiliser le lanceur py.exe
pour cela: py -m pip
exécute pip
. Ainsi, par exemple, pour installer Beautiful Soup pour Python 3.6, vous pouvez exécuter py -3.6 -m pip install beautifulsoup4
.
Disons que vous avez Python 2.7.16:
C:\Windows\system32>python --version
python2 2.7.16
... et vous souhaitez effectuer la mise à niveau vers la version (actuelle) 3.x.y. Il existe un moyen simple d’installer une parallèle == installation de Python 3.x.y à l’aide d’un outil de gestion de paquets Windows.
Maintenant que Windows moderne a la gestion des paquets, tout comme les distributions Linux Debian ont apt-get, et RedHat a dnf: nous pouvons le mettre à l’œuvre pour nous! Cela s'appelle Chocolatey .
Chocolatey est un outil de ligne de commande scriptable, basé sur .NET 4.0 et le gestionnaire de packages de nuget intégré à Visual Studio.
Si vous voulez en savoir plus sur Chocolatey et pourquoi l’utiliser, ce que certains lecteurs ici pourraient trouver particulièrement utile, allez à https://chocolatey.org/docs/why
Pour obtenir le gestionnaire de paquets Chocolatey, vous suivez un processus décrit à la section https://chocolatey.org/docs/installation#installing-chocolatey ,
Je vais vous le résumer ici. Il existe essentiellement deux options: utiliser l'invite cmd ou l'invite PowerShell.
Lancez une invite administrative . Sous Windows 10, procédez comme suit:
Si vous ne possédez pas de droits d'administrateur sur le système, accédez au site Web de Chocolatey . Vous n’êtes peut-être pas complètement à l’abri et pouvez effectuer une installation locale limitée, mais je ne couvrirai pas cela ici.
@"%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 sera téléchargé et installé pour vous comme ci-dessous:
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
Soit Exit l'invite CMD ou tapez la commande suivante pour recharger les variables d'environnement:
refreshenv
Si vous préférez PowerShell à l'invite cmd, vous pouvez le faire directement à partir de là. Cependant, vous devrez indiquer à PowerShell de s'exécuter avec une stratégie d'exécution de script appropriée pour le faire fonctionner. Sur Windows 10, la méthode la plus simple que j'ai trouvée consiste à saisir ce qui suit dans la barre de recherche Cortana, à côté du bouton Windows:
PowerShell.exe
Ensuite, faites un clic droit sur le choix "Meilleur résultat" dans le menu qui apparaît et sélectionnez "Exécuter en tant qu'administrateur".
Maintenant que vous êtes dans PowerShell et que vous utilisez des privilèges d’administrateur, exécutez la procédure suivante pour installer Chocolatey:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
PowerShell téléchargera Chocolatey pour vous et lancera l'installation. Cela ne prend que quelques instants. Il ressemble exactement à l’installation de CMD, économisez peut-être du texte coloré.
Soit Exit PowerShell ou tapez la commande suivante pour recharger les variables d'environnement:
refreshenv
La commande choco est la même, que vous utilisiez PowerShell ou l'invite cmd. Lancez votre favori en suivant les instructions ci-dessus. Je vais utiliser l'invite administrateur cmd:
C:\WINDOWS\system32>choco upgrade python -y
Chocolatey vous dira essentiellement "Hé, Python n'est pas installé" car vous venez de la version 2.7.x et traite la version 2.7 comme complètement séparé. C'est seulement == va vous donner la version la plus récente, 3.x.y (à la date d'écriture, 3.7.2, mais cela changera dans quelques mois):
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).
Soit quittez l'invite cmd/Powershell et entrez-le à nouveau, ou utilisez refreshenv, puis tapez 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
Notez que la plus récente installation de Python prend désormais le relais lorsque vous tapez Python sur la ligne de commande. Vous pouvez exécuter l'une ou l'autre version en utilisant les commandes suivantes:
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:\>
À partir de là, je vous suggère d’utiliser l’utilitaire Python pip == pour installer tous les packages dont vous avez besoin. Par exemple, supposons que vous vouliez installer Flask. Les commandes ci-dessous mettent d'abord à niveau pip, puis installent 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
... fera l'affaire. Bonne Python!
Python 2.x et Python 3.x sont différents. Si vous souhaitez télécharger une version plus récente de Python 2, vous pouvez simplement télécharger et installer la version la plus récente.
Si vous souhaitez installer Python 3, vous pouvez installer Python 3 séparément, puis modifier le chemin d'accès de Python 2.x à Python 3. .x dans le Panneau de configuration> Tous les éléments du Panneau de configuration> Système> Paramètres système avancés> Variables d’environnement.
Si vous mettez à niveau une version 3.x Python, allez simplement sur page de téléchargements Python obtenez la dernière version et lancez l'installation. Puisque vous avez déjà installé Python sur votre ordinateur, le programme d'installation vous demandera "Mettre à jour maintenant". Cliquez sur ce bouton pour remplacer la version existante par une nouvelle. Vous devrez également redémarrer un ordinateur après l'installation.
En 2019, vous pouvez installer à l'aide de chocolaté . Ouvrez votre cmd ou powershell, tapez "choco install python".