J'ai essayé d'ajouter le chemin Python à la ligne de commande sous Windows 7, mais quelle que soit la méthode que j'essaie, rien ne semble fonctionner. J'ai utilisé la commande set
, j'ai essayé de l'ajouter via l'invite de modification de l'environnement, etc.
De plus, si je lance la commande set sur la ligne de commande, cette liste
python = c:\python27
Pourtant, il ne reconnaît toujours pas la commande Python.
La lecture de la documentation et de diverses autres sources n’a pas semblé aider.
Éditer: Juste pour clarifier, j'ai ajouté le chemin de l'exécutable Python à PATH dans l'environnement d'édition Invite. Ne semble pas fonctionner.
;C:\python27
à la variable Path
.Lors de la définition de variables environnementales dans Windows, je me suis trompé à maintes reprises. Je pensais que je devrais partager ici quelques-unes de mes erreurs passées en espérant que cela pourrait aider quelqu'un . (Elles s'appliquent à toutes les variables d'environnement, pas seulement lors de la définition du chemin Python).
Méfiez-vous de ces erreurs possibles:
;C:\Python27
SANS espace. (Il est courant d'essayer C:\SomeOther; C:\Python27
Cet espace () après le point-virgule est pas correct.)echo $PATH
, mais seules les barres obliques inversées ont fonctionné pour moi.C:\Python27
NON C:\Python27\
J'espère que ça aide quelqu'un.
Ouvrez cmd . Exe avec des privilèges d’administrateur (clic droit sur l’application). Puis tapez:
setx path "% path%; C:\Python27;"
N'oubliez pas de terminer par un point-virgule et de ne pas inclure de barre oblique.
J'ai un problème avec cela depuis longtemps. Je l'ai ajouté à mon chemin de toutes les manières possibles, mais voici ce qui a finalement fonctionné pour moi:
pythonexe
(ou tout ce que vous voulez)C:\Python32\
)%pythonexe%;
à la fin de ce qui existe déjàIDK pourquoi ça marche mais ça a fonctionné pour moi.
ensuite, essayez de taper "python" dans votre ligne de commande et ça devrait marcher!
Modifier:
Dernièrement, j'utilise ce programme qui semble fonctionner assez bien. Il y a aussi celui-ci qui est très joli aussi, même si je ne l'ai jamais essayé.
Essayez d’ajouter ce fichier python.bat
au dossier System32
et la ligne de commande exécutera désormais python lorsque vous saisirez python
.
python.bat
@C:\Python27\python.exe %*
La source:
https://github.com/KartikTalwar/dotfiles/blob/master/bat/python.bat
Vous pouvez définir le chemin depuis current cmd window en utilisant la commande PATH =
. Cela ne l'ajoutera que pour l'instance actuelle de cmd. si vous souhaitez l'ajouter de façon permanente, vous devez l'ajouter aux variables système. (Ordinateur> Paramètres système avancés> Variables d'environnement)
Vous devriez aller sur votre instance cmd et mettre PATH=C:/Python27/;%PATH%
.
Assurez-vous de ne pas ajouter d'espace avant le nouveau répertoire.
Bon: Vieux; vieux; vieux; nouveau
Bad: Vieux; vieux; vieux; Nouveau
Python est livré avec un utilitaire small qui ne fait que ceci . A partir de la ligne de commande, lancez:
c:\python27\tools\scripts\win_add2path.py
Assurez-vous de fermer la fenêtre de commande (avec exit
ou le bouton de fermeture) et de la rouvrir.
Le programme suivant ajoutera le chemin d’exécutable python et les scripts de sous-répertoire (où sont installés par exemple pip et easy_install) à votre environnement. Il trouve le chemin d'accès à l'exécutable python à partir de la clé de registre liant l'extension .py. Cela supprimera les anciens chemins python dans votre environnement. Fonctionne également avec XP (et probablement Vista) . Il n'utilise que les modules fournis avec le programme d'installation Windows de base.
# coding: utf-8
import sys
import os
import time
import _winreg
import ctypes
def find_python():
"""
retrieves the commandline for .py extensions from the registry
"""
hKey = _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT,
r'Python.File\Shell\open\command')
# get the default value
value, typ = _winreg.QueryValueEx (hKey, None)
program = value.split('"')[1]
if not program.lower().endswith(r'\python.exe'):
return None
return os.path.dirname(program)
def extend_path(pypath, remove=False, verbose=0, remove_old=True,
script=False):
"""
extend(pypath) adds pypath to the PATH env. variable as defined in the
registry, and then notifies applications (e.g. the desktop) of this change.
!!! Already opened DOS-Command prompts are not updated. !!!
Newly opened prompts will have the new path (inherited from the
updated windows Explorer desktop)
options:
remove (default unset), remove from PATH instead of extend PATH
remove_old (default set), removes any (old) python paths first
script (default unset), try to add/remove the Scripts subdirectory
of pypath (pip, easy_install) as well
"""
_sd = 'Scripts' # scripts subdir
hKey = _winreg.OpenKey (_winreg.HKEY_LOCAL_MACHINE,
r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
0, _winreg.KEY_READ | _winreg.KEY_SET_VALUE)
value, typ = _winreg.QueryValueEx (hKey, "PATH")
vals = value.split(';')
assert isinstance(vals, list)
if not remove and remove_old:
new_vals = []
for v in vals:
pyexe = os.path.join(v, 'python.exe')
if v != pypath and os.path.exists(pyexe):
if verbose > 0:
print 'removing from PATH:', v
continue
if script and v != os.path.join(pypath, _sd) and \
os.path.exists(v.replace(_sd, pyexe)):
if verbose > 0:
print 'removing from PATH:', v
continue
new_vals.append(v)
vals = new_vals
if remove:
try:
vals.remove(pypath)
except ValueError:
if verbose > 0:
print 'path element', pypath, 'not found'
return
if script:
try:
vals.remove(os.path.join(pypath, _sd))
except ValueError:
pass
print 'removing from PATH:', pypath
else:
if pypath in vals:
if verbose > 0:
print 'path element', pypath, 'already in PATH'
return
vals.append(pypath)
if verbose > 1:
print 'adding to PATH:', pypath
if script:
if not pypath + '\\Scripts' in vals:
vals.append(pypath + '\\Scripts')
if verbose > 1:
print 'adding to PATH:', pypath + '\\Scripts'
_winreg.SetValueEx(hKey, "PATH", 0, typ, ';'.join(vals) )
_winreg.SetValueEx(hKey, "OLDPATH", 0, typ, value )
_winreg.FlushKey(hKey)
# notify other programs
SendMessage = ctypes.windll.user32.SendMessageW
HWND_BROADCAST = 0xFFFF
WM_SETTINGCHANGE = 0x1A
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, u'Environment')
if verbose > 1:
print 'Do not forget to restart any command prompts'
if __== '__main__':
remove = '--remove' in sys.argv
script = '--noscripts' not in sys.argv
extend_path(find_python(), verbose=2, remove=remove, script=script)
Je sais que cette publication est ancienne, mais j'aimerais ajouter que les solutions reposent sur des privilèges d'administrateur. Si vous n'en avez pas, vous pouvez:
Allez dans le panneau de configuration, tapez chemin (c'est Windows 7 maintenant, donc c'est dans la zone de recherche) et cliquez sur "Modifier les variables d'environnement pour votre compte". Vous verrez maintenant la boîte de dialogue Variable d'environnement avec "Variables utilisateur" en haut et "Variables système" ci-dessous.
Vous pouvez, en tant qu’utilisateur, cliquer sur le bouton "Nouveau" situé en haut de la page et ajouter:
Nom de la variable:CHEMIN
Valeur de la variable: C:\Python27
(pas d'espaces nulle part) et cliquez sur OK. Une fois que votre invite de commande est redémarrée, tout PATH dans les variables utilisateur se trouve ajouté à la fin du chemin système. Il ne remplace pas le PATH d'une autre manière.
Si vous voulez un chemin complet spécifique, vous feriez mieux de créer un fichier de commandes comme celui-ci:
@echo off
PATH C:\User\Me\Programs\mingw\bin;C:\User\Me\Programs;C:\Windows\system32
title Compiler Environment - %Username%@%Computername%
cmd
Appelez-le "compiler.bat" ou autre chose et double-cliquez dessus pour le démarrer. Ou un lien vers celui-ci. Ou épingler etc ...
Vous devez apporter des modifications à votre variable système
-- Faites un clic droit sur "Mon ordinateur"
-- Cliquez sur "Propriétés"
-- Cliquez sur "Paramètres système avancés" dans le panneau latéral.
-- Cliquez sur Variable d'environnement - Vous aurez deux sections de variable utilisateur et de variable système
-- Dans la section variable système, recherchez la variable 'Path', cliquez sur Editer et ajoutez"C:\Python27;"
(sans guillemets) enregistrez-le
-- Ouvrez maintenant le type de ligne de commande 'chemin', appuyez sur Entrée, vous verrez que la variable de chemin a été modifiée
-- Maintenant tapez python --version
vous verrez la version python
Et c'est fait
Pour ceux qui tentent d'atteindre cet objectif avec Python 3.3+, le programme d'installation de Windows inclut désormais une option permettant d'ajouter python.exe au chemin de recherche du système. En savoir plus dans les docs .
Travailler avec des variables d’environnement Windows est toujours une expérience horrible. Récemment, j'ai trouvé un outil extraordinaire appelé Rapid Environment Editor, qui fournit une interface graphique extrêmement simple pour les gérer.
Si vous utilisez Chocolatey, vous pouvez l’installer à l’aide de choco install rapidee
. Sinon, jetez un œil à http://www.rapidee.com/fr/download
En relisant cela, cela ressemble à un shill payé, mais je jure que je ne le suis pas! Cela fait juste un des utilitaires les plus utiles de ma boîte à outils depuis un moment et je suis surpris que personne ne semble le savoir.
Si Python a été installé avec un autre programme, tel que ArcGIS 10.1 dans mon cas, vous devez également inclure tout dossier supplémentaire contenant le chemin d'accès à python.exe dans vos variables d'environnement.
Donc, mes variables d'environnement ressemblent à ceci:
Variables système> Chemin> Ajouter ;C:\Python27\ArcGIS10.1
J'ai organisé ma variable d'environnement python comme celle-ci sous Win7 64 bits à l'aide de cmd.
J'ai défini la variable PYTHONPATH
via la variable d'environnement menu de Windows et ajouté %PYTHONPATH%
à la variable PATH
:
...;%PYTHONPATH%
Le cmd Shell étend la variable correctement à ceci:
C:\>echo %PYTHONPATH%
C:\python27;c:\python27\lib;C:\python27\scripts
N'oubliez pas de redémarrer cmd Shell après avoir modifié PATH.
Je viens d'installer Python 3.3 sur Windows 7 en utilisant l'option "ajouter python à PATH".
Dans la variable PATH, le programme d’installation a automatiquement ajouté une dernière barre oblique inversée: C:\Python33\
.__ et ainsi cela n’a pas fonctionné sur la commande Invite (j’ai essayé de fermer/ouvrir l’invite plusieurs fois).
J'ai supprimé la dernière barre oblique inverse puis ça a marché: C:\Python33
Merci Ram Narasimhan pour votre conseil n ° 4!
Cette question est assez ancienne, mais je viens de rencontrer un problème similaire et ma solution particulière ne figurait pas ici:
Assurez-vous de ne pas avoir dans votre PATH de dossier qui n'existe pas.
Dans mon cas, j’avais un tas de dossiers par défaut (Windows, Powershell, Sql Server, etc.), puis un C:\bin
personnalisé que j’utilisais généralement, puis divers autres réglages tels que c:\python17
, etc. Il s’avère que le processeur cmd a trouvé ce c:\bin
n'existait pas et a ensuite arrêté le traitement du reste de la variable.
De plus, je ne savais pas que j'aurais jamais remarqué cela sans Gestionnaire PATH . Cela a bien mis en évidence le fait que cet élément était invalide.
Mon système est Windows 7 32 bits, installé Python 2.7.12 (parce que pdfminer ne prend pas en charge Python 3.X .... T ^ T)
Avait le même problème que ma fenêtre de commande reconnaît le mot "python".
Il s'est avéré que dans la variable PATH, ajouté automatiquement une dernière barre oblique inverse: C:\Python33\(identique à Charlie mentionné plus haut)
Supprimez la barre oblique inverse. tout fonctionne bien.
écrivez cela sur votre invite de commande:
set Path=%path%
Remplacez% path% par le chemin de votre dossier Python. Exemple:
set Path=C:/Python27