Comment mettre à niveau l'installation de Python dans Windows 10?

112

J'ai un Python 2.7.11 installé sur l'une de mes stations LAB. Je voudrais mettre à niveau Python vers au moins 3.5.

Comment dois-je faire ça? Dois-je préférer désinstaller complètement 2.7.11 et installer le nouveau? Existe-t-il un moyen de le mettre à jour? Une mise à jour est-elle une bonne idée?

Moshe S.
la source
Peut-être que cet ancien article peut vous aider? stackoverflow.com/questions/15102943/how-to-update-python Br.
MikeL
python2 et python3 doivent être traités comme des langages différents, comme C # est différent de C ++
WhatsThePoint

Réponses:

97

Chaque version mineure de Python, c'est-à-dire toute version 3.x et 2.x, s'installera côte à côte avec d'autres versions sur votre ordinateur. Seules les versions de correctif mettront à niveau les installations existantes.

Donc, si vous souhaitez conserver votre Python 2.7 installé, laissez-le simplement et installez une nouvelle version à l'aide du programme d'installation. Si vous voulez 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 à cela.

Les installations actuelles de Python 3 sont fournies avec le py.exelanceur, qui par défaut est installé dans le répertoire système. Cela le rend disponible à partir du PATH, vous pouvez donc l'exécuter automatiquement à partir de n'importe quel shell en utilisant simplement au pylieu de pythoncomme 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 n'interfèrent les unes avec les autres. Lors de l'exécution, utilisez simplement py script.pyau lieu de python script.pypour utiliser le lanceur. Vous pouvez également spécifier une version en utilisant par exemple py -3ou py -3.6pour lancer une version spécifique, sinon le lanceur utilisera la version par défaut actuelle (qui sera généralement la dernière version 3.x).

En utilisant le lanceur, 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.pypour lancer un script.


En ce qui concerne les packages PyPI, chaque installation Python est livrée 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 de l'installateur vous proposent également d'installer pip; il est activé par défaut, donc vous l'avez déjà pippour chaque installation. Sauf si vous ajoutez explicitement une installation Python au PATH, vous ne pouvez pas simplement l'utiliser pip. Heureusement, vous pouvez également utiliser simplement le py.exelanceur pour cela: py -m pipfonctionne pip. Ainsi, par exemple, pour installer Beautiful Soup pour Python 3.6, vous pouvez exécuter py -3.6 -m pip install beautifulsoup4.

poussée
la source
1
Comment recommanderiez-vous de faire cela sur une station que j'utilise actuellement pour le développement de scripts? Au fait, j'ai un 3.5.2 (Windows 7 64 bits)
Moshe S.
1
Installez simplement la nouvelle version côte à côte. Il n'est pas nécessaire de supprimer l'ancienne version. Avoir l'ancienne version pourrait même vous aider à migrer les scripts existants de Python 2 vers Python 3, afin que vous puissiez toujours exécuter les scripts d'origine.
poke le
1
Le programme d'installation vous donnera une option pour définir le PATH pour vous, vous n'aurez donc peut-être pas besoin de le faire manuellement. Et oui, votre IDE doit être mis à jour.
poke le
1
aussi py -3.7-64oupy -3.7-32
noobninja
1
Remarque: py est le lanceur Python pour Windows . Ou voir PEP 397 qui le définit. Il ne s'installe pas pour Linux / Mac.
LightCC
39

Installation / mise à niveau de Python à l'aide du gestionnaire de packages Chocolatey Windows

Disons que vous avez Python 2.7.16:

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

... et vous souhaitez passer à la version 3.xy (désormais actuelle). Il existe un moyen simple d'installer une installation parallèle de Python 3.xy à l'aide d'un outil de gestion de packages Windows.

Maintenant que Windows moderne a la gestion des paquets, tout comme les distributions Debian Linux ont apt-get, et RedHat a dnf: nous pouvons le faire fonctionner pour nous! Ça s'appelle Chocolatey .

Qu'est-ce que chocolaté?

Chocolatey est un outil de ligne de commande scriptable basé sur .NET 4.0 et le gestionnaire de packages nuget intégré à Visual Studio.

Si vous voulez en savoir plus sur Chocolatey et pourquoi l'utiliser, ce que certains lisant ici pourraient trouver particulièrement utile, rendez-vous sur https://chocolatey.org/docs/why

Installation de Chocolatey

Pour obtenir le gestionnaire de packages Chocolatey, vous suivez un processus qui est décrit sur https://chocolatey.org/docs/installation#installing-chocolatey ,

Je vais vous le résumer ici. Il existe essentiellement deux options: utiliser l'invite cmd ou utiliser l'invite PowerShell.

Installation de CMD Prompt Chocolatey

Lancez une invite de commande administrative . Sur Windows 10, pour ce faire:

  • Windows+R
  • Tapez cmd
  • Appuyez sur ctrl+ shift+Enter

Si vous ne disposez pas des droits d'administrateur sur le système, accédez au site Web de Chocolatey . Vous n'êtes peut-être pas complètement malchanceux et pouvez effectuer une installation locale limitée, mais je ne parlerai pas de cela ici.

  • Copiez la chaîne ci-dessous dans votre invite de commande et tapez Entrée:
@"%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 Quitter l'invite CMD ou tapez la commande suivante pour recharger les variables d'environnement:

refreshenv

Installation de PowerShell Chocolatey

Si vous préférez PowerShell à l'invite cmd, vous pouvez le faire directement à partir de là, mais vous devrez dire à PowerShell de s'exécuter avec une stratégie d'exécution de script appropriée pour le faire fonctionner. Sur Windows 10, le moyen le plus simple que j'ai trouvé de le faire est de taper ce qui suit dans la barre de recherche Cortana à côté du bouton Windows:

PowerShell.exe

Ensuite, faites un clic droit sur le choix 'Best Match' 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, espérons-le, les privilèges d'administrateur, exécutez ce qui suit 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. Cela ressemble exactement à l'installation de CMD, sauf peut-être un texte de couleur fantaisie.

Soit Quitter PowerShell ou tapez la commande suivante pour recharger les variables d'environnement:

refreshenv

Mettre à niveau Python

La commande choco est la même que vous utilisiez PowerShell ou l'invite cmd. Lancez votre favori en suivant les instructions ci-dessus. J'utiliserai l'invite cmd de l'administrateur:

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

Essentiellement, chocolatey vous dira "Hey, Python n'est pas installé" puisque vous venez de 2.7.x et il traite la version 2.7 comme complètement séparée. Il ne vous donnera que la version la plus récente, 3.xy (au moment de la rédaction de cet article, 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 sortir de la cmd / Powershell rapide et entrez de nouveau, ou l' utilisation 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 l'installation la plus récente de Python prendra désormais le relais lorsque vous tapez Python sur la ligne de commande. Vous pouvez exécuter l'une ou l'autre version à l'aide des 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 les packages dont vous avez besoin. Par exemple, disons que vous vouliez installer Flask. Les commandes ci-dessous mettent d'abord à niveau pip, puis installez 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. Joyeux Python!

ggariepy
la source
La version courte de la réponse est d'installer Chocolatey, puis de rafraîchir à partir de votre invite de commande, puis d'effectuer choco install python, il installera la dernière version de python. Refaites refreshenv dans la cmd et vous devriez exécuter le dernier python à partir de votre cmd.
Sebastian le
Obtenir cette erreur dans CMD et POWERSHELL Exception appelant "DownloadString" avec "1" argument (s): "La connexion sous-jacente a été fermée: une erreur inattendue s'est produite lors d'un envoi." À la ligne: 1 caractère: 104 + Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient) .DownloadString <<<< (' chocolatey.org/install.ps1' )) + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: DotNetMethodException
trustory
J'ai Windows 7 toute aide pour mettre à niveau vers python 3 à partir de python2 semble que chocoaltely ne fonctionne pas.
trustory le
39

Si vous mettez à niveau une version Python 3.xy vers 3.xz (patch), accédez simplement à la page de téléchargement Python pour obtenir la dernière version et démarrez l'installation. Puisque vous avez déjà installé Python sur votre machine, le programme d'installation vous demandera "Mettre à jour maintenant". Cliquez sur ce bouton et il remplacera la version existante par une nouvelle. Vous devrez également redémarrer un ordinateur après l'installation.

entrez la description de l'image ici

Si vous mettez à niveau de 3.x à 3.y (mineur), vous serez invité à "Installer maintenant". Dans ce cas, vous n'effectuez pas de mise à niveau, mais vous installez une nouvelle version de Python. Vous pouvez avoir plusieurs versions installées sur votre ordinateur. Ils seront situés dans différents répertoires. Lorsque vous avez plus d'une version Python sur votre machine, vous devrez utiliser py lanucher pour lancer une version spécifique de Python.

Par exemple:

py -3,7

ou

py -3,8

Assurez-vous que le lanceur py est installé sur votre machine. Il sera installé automatiquement si vous utilisez les paramètres par défaut du programme d'installation de Windows. Vous pouvez toujours le vérifier si vous cliquez sur le lien «Personnaliser l'installation» dans la fenêtre d'installation.

Si vous avez plusieurs versions de Python installées sur votre machine et que vous avez un projet qui utilise la version précédente de Python en utilisant un environnement virtuel, par exemple (venv), vous pouvez mettre à niveau Python uniquement dans ce venv en utilisant:

python -m venv --upgrade "votre chemin d'environnement virtuel"

Par exemple, j'ai Python 3.7 dans mon environnement virtuel ./venv et je voudrais mettre à niveau venv vers Python 3.8, je ferais ce qui suit

python -m venv --upgrade ./venv

Vlad Bezden
la source
1
@ MosheS.vous pouvez obtenir une liste des paquets obsolètes en utilisant la commande suivante: pip list --outdated, puis mettre à jour chaque paquet par python -m pip install --upgrade <votre paquet>
Vlad Bezden
5
Passage de 3.7.2 à 3.7.4 (64 bits) sur Windows 10 Je ne vois pas cela, je vois "Installer maintenant" où vous voyez "
Mettre à
3
Je viens de passer de 3.7.3 à 3.7.5 et j'ai reçu le message "Mettre à jour maintenant". Si j'essayais de passer de 3.7.3 à 3.8, j'obtiendrais "Installer maintenant".
Tiago Martins Peres 李大仁
1
@Suncatcher vous avez raison, c'est ce que j'ai décrit dans la section "Si vous souhaitez passer de 3.x à 3.y alors ...". Veuillez lire ce qui précède.
Vlad Bezden le
1
@Suncatcher, merci pour vos commentaires. J'ai mis à jour la description.
Vlad Bezden le
4

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 changer le chemin de Python 2.x en Python 3.x dans Panneau de configuration> Tous les éléments du panneau de configuration> Système> Paramètres système avancés> Variables d'environnement.

Julian Chan
la source
Je préfère supprimer complètement Python 2.7.11 car je n'ai pas l'intention de le supporter. Je devrais donc le supprimer complètement. Droite ? Les "Programmes et fonctionnalités" n'ont pas montré Python donc je ne sais pas comment le supprimer. Dois-je utiliser pip et comment? Est-ce une bonne idée de simplement supprimer le dossier Python? Qu'en est-il de tous les anciens packages qui ont été installés avec (s'il y en avait), comment puis-je les désinstaller également?
Moshe S.
@MosheS. Je ne pense pas que cela prend vraiment beaucoup de place, mais si vous voulez nettoyer, alors par tous les moyens. Ils doivent tous être dans le même dossier, vous pouvez probablement désinstaller à partir du panneau de configuration Programme et fonctionnalités. Mes deux Python 2.7 et 3.4 sont là-dedans. La désinstallation à partir de là supprimera tous les packages. Si vous ne pouvez vraiment pas le trouver, vous pouvez simplement essayer de supprimer tout le dossier. Lorsque vous téléchargez Python 3 et si cela ne fonctionne pas, modifiez le chemin comme je l'ai répondu ci-dessus, ce serait probablement le problème principal, le cas échéant.
Julian Chan
3

En 2019, vous pouvez installer en utilisant chocolatey . Ouvrez votre cmd ou powershell, tapez "choco install python".

roscoe_x
la source
-1

Le moyen le plus simple d'installer la dernière version de Python (si vous avez désinstallé d'autres versions) est de taper Pythondans PowerShell.

Cela ouvrira le Microsoft Store et vous cliquez sur le Getbouton.

Mike Poole
la source