Comment ajouter au PYTHONPATH dans Windows, afin qu'il trouve mes modules / packages?


369

J'ai un répertoire qui héberge toutes mes applications Django ( C:\My_Projects). Je souhaite ajouter ce répertoire à mon PYTHONPATHafin de pouvoir appeler les applications directement.

J'ai essayé d'ajouter C:\My_Projects\;à ma Pathvariable Windows à partir de l'interface graphique Windows ( My Computer > Properties > Advanced System Settings > Environment Variables). Mais il ne lit toujours pas le module coltrane et génère cette erreur:

Erreur: aucun module nommé coltrane


pour l'erreur "aucun module nommé": stackoverflow.com/questions/23417941/…
JinSnow

1
J'ai utilisé le sitemodule .
Zeinab Abbasimazar

si vous voulez exécuter python dans l'invite de commande, il est bien répondu ici j'espère que cela aide stackoverflow.com/a/54618199/8253662
maheshmnj

Réponses:


411

Vous savez ce qui a très bien fonctionné pour moi sur Windows.

My Computer > Properties > Advanced System Settings > Environment Variables >

Ajoutez simplement le chemin comme C: \ Python27 (ou partout où vous avez installé python)

OU

Ensuite, sous les variables système, je crée une nouvelle variable appelée PythonPath. Dans cette variable, j'aiC:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\other-folders-on-the-path

entrez la description de l'image ici

C'est le meilleur moyen qui a fonctionné pour moi que je n'avais trouvé dans aucun des documents proposés.

EDIT: Pour ceux qui ne peuvent pas l'obtenir, veuillez ajouter

C: \ Python27;

avec. Sinon, cela ne fonctionnera jamais .


50
Vous voulez probablement ajouter C:\Python27votre chemin.
Wei Yang du

5
@SteveKoch Je ne suis pas sûr - vous devrez demander au mainteneur du projet. Je n'utilise plus Path Editor car je suis passé à un bien meilleur Rapid Environment Editor
Piotr Dobrogost

5
Il est également important d'ajouter C: \ Python27 \ Scripts au chemin afin que les scripts installés puissent être exécutés à partir du shell.
Tyler Brock

6
Pourquoi voudriez - vous mettre C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tken PYTHONPATH? Ceux-ci sont déjà configurés. Les répertoires des scripts vont dans le système PATH. Les répertoires des bibliothèques (qui ne sont pas installés sur site-packagesou par utilisateur site-packages) entrent PYTHONPATH.
Eryk Sun

11
Je devais également inclure% PYTHONPATH% dans mon CHEMIN.
eightx2

124

Windows 7 Professionnel J'ai modifié la réponse de @ mongoose_za pour faciliter la modification de la version python:

  1. [Clic droit] Ordinateur> Propriétés> Paramètres système avancés> Variables d'environnement
  2. Cliquez sur [Nouveau] sous "Variable système"
  3. Nom de la variable: PY_HOME, valeur de la variable: C: \ chemin \ vers \ python \ version entrez la description de l'image ici
  4. Cliquez sur OK]
  5. Localisez la variable système "Path" et cliquez sur [Modifier]
  6. Ajoutez ce qui suit à la variable existante:

    % PY_HOME%;% PY_HOME% \ Lib;% PY_HOME% \ DLLs;% PY_HOME% \ Lib \ lib-tk; entrez la description de l'image ici

  7. Cliquez sur [OK] pour fermer toutes les fenêtres.

En guise de vérification finale, ouvrez une invite de commande et entrez python. Tu devrais voir

>python [whatever version you are using]

Si vous devez basculer entre les versions, il vous suffit de modifier la variable PY_HOME pour pointer vers le répertoire approprié. C'est un peu plus facile à gérer si vous avez besoin de plusieurs versions de python installées.


4
J'ai essayé cela et cela a fonctionné ... Je recommanderais à quiconque traverse le même problème d'essayer cela.
Christopher M.

2
J'ai essayé, ça n'a rien fait du tout.
GreySage

J'ai essayé la réponse acceptée ci-dessus et cela n'a pas fonctionné, donc je recommanderais celle-ci.
mjwrazor

2
@Reihan_amn Je veux dire le répertoire d'encapsulation qui contient la lib, bin, libexec, etc. En général, ces répertoires sont nommés Python [VERSION_NUMBER] /, mais j'ai également vu python / [VERSION_NUMBER]. J'espère que cela vous aidera
Delicia Brummitt

5
J'ai essayé cela et cela a fonctionné pour moi. J'ai dû faire un petit ajustement qui consistait à cliquer sur Nouveau pour chacune de ces entrées pour Windows 10 lors de leur ajout à la variable PATH. %PY_HOME%;%PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk; J'avais aussi besoin d'ajouter %PY_HOME%\Scriptsdonc j'avais accès à pip et aux modules que j'installe avec pip comme pylint
Jose 'Vargas

83

Depuis la ligne de commande Windows:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

Pour définir le PYTHONPATH de façon permanente, ajoutez la ligne à votre autoexec.bat. Sinon, si vous modifiez la variable système via les propriétés du système, elle sera également modifiée de façon permanente.


1
A fonctionné mais chaque fois que j'ouvre dos, je devais définir le chemin.
darren

7
Je préfère utiliserset path=%PATH%;%PYTHONPATH%;
M. Mercredi

5
Dos et édition autoexec.bat ..! Avons-nous soudainement glissé dans les années 90?
drexiya

4
Avant cela, faites écho% PYTHONPATH% si cela vous donne un chemin, sinon, par exemple, définissez PYTHONPATH = .; C: \ My_python_lib Si vous ne le faites pas, Windows étendra% PYTHONPATH% à une chaîne vide comme prévu, il le fera gardez-le comme% PYTHONPATH% dans le PYTHONPATH et tout se cassera! Cela semble fou, mais c'est comme ça que win7 cmd fonctionne ...
ntg

69

Ajoutez simplement votre chemin d'installation (ex. C: \ Python27 \ ) à la variable PATH dans les variables système . Ensuite, fermez et ouvrez votre ligne de commande et tapez «python» .


37
Cela répond à une question complètement différente de celle que posait OP.
wpercy

1
La question ne concerne pas le PATHque DOS utilise pour trouver les commandes, mais le chemin Python, c'est- sys.pathà- dire en Python. Dans la plupart des systèmes d'exploitation, Python utilise uniquement la variable d'environnement système PYTHONPATH, mais Windows semble être «spécial».
Michael Scheper

52

Ces solutions fonctionnent, mais elles fonctionnent UNIQUEMENT pour votre code sur votre machine. J'ajouterais quelques lignes à votre code qui ressemblent à ceci:

import sys
if "C:\\My_Python_Lib" not in sys.path:
    sys.path.append("C:\\My_Python_Lib")

Cela devrait prendre soin de vos problèmes


4
Modifier sys.pathcomme ça est mal vu et pour de bonnes raisons. Il existe de meilleures façons de configurer sys.path- PYTHONPATHvariable d'environnement et .pthfichiers.
Piotr Dobrogost

38

Ajout de Python et PythonPath à l'environnement Windows:

  1. Ouvrez l'Explorateur.
  2. Cliquez avec le bouton droit sur «Ordinateur» dans le panneau d'arborescence de navigation sur la gauche.
  3. Sélectionnez «Propriétés» au bas du menu contextuel.
  4. Sélectionnez «Paramètres système avancés»
  5. Cliquez sur 'Variables d'environnement ...' dans l'onglet Avancé
  6. Sous «Variables système» :

    1. Ajouter

      • PY_HOME

        C:\Python27
      • PYTHONPATH

        %PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk;C:\another-library
    2. Ajouter

      • path

        %PY_HOME%;%PY_HOME%\Scripts\

3
C'est la seule solution qui a fonctionné pour moi. De plus, pour ceux d'entre vous qui n'ont pas de droits d'administrateur, suivez simplement les étapes ci-dessus sous "Variables utilisateur pour [votreNomUtilisateur]" et cela fonctionnera tout aussi bien.
Tarifs KA du

Python sur Windows, appréciant node.js un peu plus en ce moment
Eddie

19

Le moyen le plus simple de définir le chemin d'accès en python est: cliquez sur démarrer> Poste de travail> Propriétés> Paramètres système avancés> Variables d'environnement> secondes fenêtres>

entrez la description de l'image ici

sélectionnez Chemin> Modifier> puis ajoutez "; C: \ Python27 \; C: \ Python27 \ Scripts \"

lien: http://docs.python-guide.org/en/latest/starting/install/win/


changer le chemin du système n'a rien changé (le supprimer aussi). Mais la saisie dans admin cmd a fonctionné: ftype Python.File = "C: \ Python27 \ python.exe" "% 1"% *
JinSnow


13

Vous pouvez également ajouter un .pthfichier contenant le répertoire souhaité dans votre c:\PythonX.Xdossier ou dans votre \site-packages folder, ce qui a tendance à être ma méthode préférée lorsque je développe un package Python.

Voir ici pour plus d'informations.


9
import sys
sys.path.append("path/to/Modules")
print sys.path

Cela ne persistera pas lors des redémarrages ou ne sera pas traduit dans d'autres fichiers. C'est cependant très bien si vous ne voulez pas apporter de modification permanente à votre système.


1
+1 pour la possibilité de définir des chemins est le temps d'exécution. sans doute "hacky", lors de la rédaction d'une preuve de concept ou d'un travail ponctuel, c'est parfait et laisse le système non modifié.
Joshua Burns

Je ne suis pas d'accord pour dire que vous ne devez le faire qu'une seule fois. Je trouve que le chemin supplémentaire ne persiste pas après le redémarrage du
noyau

8

Le moyen le plus simple de le faire avec succès est d'exécuter à nouveau le programme d'installation de python (après la première installation), puis:

  1. choisissez Modifier.
  2. cochez les fonctionnalités optionnelles souhaitées et cliquez sur Suivant.
  3. nous y voilà, à l'étape "Options avancées", vous devez voir une option disant "Ajouter Python aux variables d'environnement". Cochez simplement cette option et cliquez sur Installer. 3e étape Une fois l'installation terminée, des variables d'environnement python sont ajoutées et vous pouvez facilement utiliser python partout.

6

Dans Python 3.4 sur Windows, cela a fonctionné lorsque je l'ai ajouté à la variable d'environnement PATH au lieu de PYTHONPATH. Comme si vous avez installé Python 3.4 dans D: \ Programming \ Python34 puis ajoutez ceci à la fin de votre variable d'environnement PATH

;D:\Programming\Python34

Fermez et rouvrez l'invite de commande et exécutez 'python'. Cela ouvrira le shell python. Cela a également corrigé mon problème Sublime 3 de «python n'est pas reconnu comme une commande interne ou externe» .


Oui, c'était la seule solution pour moi (Python 3.x). Je n'ai vraiment aucune idée pourquoi% PYTHONPATH% n'est pas résolu sur le paramètre Path. Appeler le dossier des scripts n'était pas nécessaire.
Davidson Lima

6

Les chemins python 2.X peuvent être définis à partir de quelques-unes des instructions ci-dessus. Python 3 par défaut sera installé dans C: \ Users \\ AppData \ Local \ Programs \ Python \ Python35-32 \ Donc, ce chemin doit être ajouté à la variable Path dans l'environnement Windows.


5

Pour augmenter PYTHONPATH, exécutez regedit et accédez à KEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore, puis sélectionnez le dossier de la version python que vous souhaitez utiliser. À l'intérieur, il y a un dossier nommé PythonPath, avec une entrée qui spécifie les chemins où l'installation par défaut stocke les modules. Cliquez avec le bouton droit sur PythonPath et choisissez de créer une nouvelle clé. Vous voudrez peut-être nommer la clé d'après le projet dont l'emplacement du module sera spécifié; de cette façon, vous pouvez facilement compartimenter et suivre les modifications de votre chemin.

Merci


4

La variable d'environnement PYTHONPATH est utilisée par Python pour spécifier une liste de répertoires à partir desquels les modules peuvent être importés sous Windows. Lors de l'exécution, vous pouvez inspecter la sys.pathvariable pour voir quels répertoires seront recherchés lorsque vous importez quelque chose.

Pour définir cette variable à partir de l'invite de commande, utilisez: set PYTHONPATH=list;of;paths.

Pour définir cette variable à partir de PowerShell, utilisez: $env:PYTHONPATH=’list;of;paths’juste avant de lancer Python.

Il n'est pas recommandé de définir cette variable globalement via les paramètres de variables d'environnement , car elle peut être utilisée par n'importe quelle version de Python au lieu de celle que vous avez l'intention d'utiliser. Pour en savoir plus, consultez les FAQ de Python sur Windows .


3

Pour quiconque essaie d'atteindre cet objectif avec Python 3.3+, le programme d'installation de Windows inclut désormais une option pour ajouter python.exe au chemin de recherche du système. En savoir plus dans la documentation .


3

Cette question a besoin d'une bonne réponse:

Utilisez simplement le package standard site, qui a été conçu pour ce travail!

et voici comment (pagayant ma propre réponse à ma propre question sur le même sujet):


  1. Ouvrez une invite Python et tapez
>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python37\\site-packages'
...
  1. Créez ce dossier s'il n'existe pas encore:
...
>>> import os
>>> os.makedirs(site.USER_SITE)
...
  1. Créez un fichier sitecustomize.pydans ce dossier contenant le contenu de FIND_MY_PACKAGES, manuellement ou en utilisant quelque chose comme le code suivant. Bien sûr, vous devez modifier C:\My_Projectsle chemin d'accès correct à votre emplacement d'importation personnalisé.
...
>>> FIND_MY_PACKAGES = """
import site
site.addsitedir(r'C:\My_Projects')
"""
>>> filename = os.path.join(site.USER_SITE, 'sitecustomize.py')
>>> with open(filename, 'w') as outfile:
...     print(FIND_MY_PACKAGES, file=outfile)

Et la prochaine fois que vous démarrez Python, il C:\My_Projectsest présent dans votre sys.path, sans avoir à toucher aux paramètres à l'échelle du système. Bonus: les étapes ci-dessus fonctionnent également sur Linux!


C'est la voie à suivre, semble-t-il. Une bonne solution multiplateforme et à long terme. Elle est bonne!
Pramesh Bajracharya

2

Cette PYTHONPATHvariable doit être définie ArcPYlors de l'installation d' ArcGIS Desktop.

PYTHONPATH=C:\arcgis\bin (votre bac d'accueil ArcGIS)

Pour une raison quelconque, il n'a jamais été défini lorsque j'ai utilisé le programme d'installation sur un système Windows 7 32 bits.


2

Je l'ai fait fonctionner dans Windows 10 en suivant les étapes ci-dessous.

Sous les variables d'environnement, vous ne devez l'ajouter que sous PATH de " Variables système " et non sous " Variables utilisateur ". C'est une grande confusion et mange du temps si nous la manquons.

Essayez également de naviguer vers le chemin où vous avez installé Python sur votre machine et ajoutez-le à PATH. Cela fonctionne juste et pas besoin d'ajouter autre chose dans mon cas. J'ai ajouté juste en dessous du chemin et cela a fonctionné.

C: \ Users \ YourUserName \ AppData \ Local \ Programs \ Python \ Python37-32

Le plus important , fermez l'invite de commande, rouvrez, puis réessayez de taper "python" pour voir les détails de la version. Vous devez redémarrer l'invite de commande pour voir la version après avoir configuré le chemin dans les variables d'environnement.

Après le redémarrage, vous devriez pouvoir voir l'invite python et les informations ci-dessous lorsque vous tapez python dans l'invite de commande:

En tapant python dans l'invite de commande


1

Peut-être un peu en retard, mais voici comment ajouter le chemin d'accès aux variables d'environnement Windows.

  1. Accédez à l'onglet Variables d'environnement, vous le faites en appuyant sur la touche Windows + Pausa inter.

  2. Accédez aux paramètres système avancés.

  3. Cliquez sur Variables d'environnement.

  4. Dans la fenêtre inférieure, recherchez la valeur «Path».

  5. Sélectionnez-le

  6. Cliquez sur Modifier

  7. À la fin de la ligne, ajoutez votre dossier d'installation et l'itinéraire vers le dossier «Scripts».

  8. Cliquez sur ok, aceptar etc.

Vous avez terminé, entrez cmd et écrivez python à partir de n'importe quel emplacement de votre lecteur, il devrait entrer dans le programme Python.

Exemple avec mon pc (je l'ai Python34)

EXISTING_LINES;C:\Python34;C:\Python34\Scripts\

J'espère que cela aide.

Salutations de Bogotá


2
Il est en effet un peu tard, puisque cette réponse était déjà fournie il y a cinq ans :-) Ce n'est pas non plus vraiment ce qui est demandé ici (puisque la question concerne PYTHONPATH, pas PATH) ...
Martin Tournoij

2
Qu'est-ce que Pausa inter.?
Ringo

0

Vous pouvez définir la variable de chemin d'accès facilement par invite de commande.

  1. Lancer et écrire cmd

  2. Dans la fenêtre de commande, écrivez ce qui suit: set path =% path%; C: \ python36

  3. appuyez sur Entrée.
  4. pour vérifier écrire python et entrer. Vous verrez la version python comme indiqué dans l'image.

entrez la description de l'image ici


0

Bien que cette question concerne le «vrai» Python, elle a été soulevée dans une recherche sur le Web pour «Iron Python PYTHONPATH». Pour les utilisateurs d'Iron Python aussi confus que moi: il s'avère qu'Iron Python recherche une variable d'environnement appelée IRONPYTHONPATH.

Utilisateurs Linux / Mac / POSIX: N'oubliez pas que non seulement Windows utilise-t-il des \séparateurs de chemin, mais qu'il utilise également ;comme délimiteurs de chemin, non :.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.