Wie füge ich dem PYTHONPATH in Windows hinzu, damit es meine Module / Pakete findet?

369

Ich habe ein Verzeichnis, in dem alle meine Django-Apps ( C:\My_Projects) gehostet werden . Ich möchte dieses Verzeichnis zu meinem hinzufügenPYTHONPATH damit ich die Apps direkt aufrufen kann.

Ich habe versucht C:\My_Projects\;, meine Windows- PathVariable über die Windows-GUI ( My Computer > Properties > Advanced System Settings > Environment Variables) hinzuzufügen . Das Coltrane-Modul wird jedoch immer noch nicht gelesen und es wird der folgende Fehler generiert:

Fehler: Kein Modul namens Coltrane

Darren
quelle
für "kein Modul benannt" Fehler: stackoverflow.com/questions/23417941/…
JinSnow
1
Ich habe siteModul verwendet .
Zeinab Abbasimazar
Wenn Sie Python in der Eingabeaufforderung ausführen möchten, wird es hier gut beantwortet. Ich hoffe, dies hilft stackoverflow.com/a/54618199/8253662
maheshmnj

Antworten:

411

Sie wissen, was bei Windows wirklich gut funktioniert hat.

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

Fügen Sie einfach den Pfad als C: \ Python27 hinzu (oder wo immer Sie Python installiert haben)

ODER

Dann erstelle ich unter Systemvariablen eine neue Variable namens PythonPath. In dieser Variablen habe ichC:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\other-folders-on-the-path

Geben Sie hier die Bildbeschreibung ein

Dies ist der beste Weg, der für mich funktioniert hat, den ich in keinem der angebotenen Dokumente gefunden habe.

EDIT: Für diejenigen, die es nicht bekommen können, bitte hinzufügen

C: \ Python27;

zusammen mit ihm. Sonst wird es nie funktionieren .

Darren
quelle
50
Sie möchten wahrscheinlich C:\Python27Ihren Pfad hinzufügen .
Wei Yang
5
@SteveKoch Ich bin mir nicht sicher - Sie müssten den Projektwart fragen. Ich benutze den Pfad-Editor nicht mehr, da ich zu einem viel besseren Rapid Environment Editor
Piotr Dobrogost
5
Es ist auch wichtig, C: \ Python27 \ Scripts zum Pfad hinzuzufügen, damit installierte Skripts über die Shell ausgeführt werden können.
Tyler Brock
6
Warum würden Sie setzen C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tkin PYTHONPATH? Diese sind bereits konfiguriert. Verzeichnisse für Skripte befinden sich im System PATH. Verzeichnisse für Bibliotheken (die nicht für site-packagesoder pro Benutzer installiert sind site-packages) werden eingegeben PYTHONPATH.
Eryk Sun
11
Ich musste auch% PYTHONPATH% in meinen PATH aufnehmen.
8x2
124

Windows 7 Professional I Die Antwort von @ mongoose_za wurde geändert, um das Ändern der Python-Version zu vereinfachen:

  1. [Rechtsklick] Computer> Eigenschaften> Erweiterte Systemeinstellungen> Umgebungsvariablen
  2. Klicken Sie unter "Systemvariable" auf [Neu].
  3. Variablenname: PY_HOME, Variablenwert: C: \ Pfad \ zu \ Python \ Version Geben Sie hier die Bildbeschreibung ein
  4. OK klicken]
  5. Suchen Sie die Systemvariable "Pfad" und klicken Sie auf [Bearbeiten].
  6. Fügen Sie der vorhandenen Variablen Folgendes hinzu:

    % PY_HOME%;% PY_HOME% \ Lib;% PY_HOME% \ DLLs;% PY_HOME% \ Lib \ lib-tk; Geben Sie hier die Bildbeschreibung ein

  7. Klicken Sie auf [OK], um alle Fenster zu schließen.

Öffnen Sie als letzte Überprüfung der Integrität eine Eingabeaufforderung und geben Sie Python ein. Das solltest du sehen

>python [whatever version you are using]

Wenn Sie zwischen Versionen wechseln müssen, müssen Sie nur die Variable PY_HOME so ändern, dass sie auf das richtige Verzeichnis verweist. Dies ist etwas einfacher zu verwalten, wenn mehrere Python-Versionen installiert sein müssen.

Delicia Brummitt
quelle
4
Versuchte dies und es funktionierte ... Ich würde jedem empfehlen, der das gleiche Problem durchläuft, um dies zu versuchen.
Christopher M.
2
Versuchte dies, es hat überhaupt nichts getan.
GreySage
Ich habe die oben akzeptierte Antwort ausprobiert und das hat nicht funktioniert, daher würde ich diese empfehlen.
Mjwrazor
2
@Reihan_amn Ich meine das Wrapping-Verzeichnis, das lib, bin, libexec usw. enthält. Normalerweise heißen diese Verzeichnisse Python [VERSION_NUMBER] /, aber ich habe auch Python / [VERSION_NUMBER] gesehen. Hoffe das hilft
Delicia Brummitt
5
Ich habe es versucht und es hat bei mir funktioniert. Ich musste eine kleine Anpassung vornehmen, die darin bestand, für jeden dieser Einträge für Windows 10 auf Neu zu klicken, wenn ich sie der PATH-Variablen hinzufügte. %PY_HOME%;%PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk; Ich musste auch hinzufügen, %PY_HOME%\Scriptsdamit ich Zugriff auf pip und die Module hatte, die ich mit pip wie pylint installiere
Jose 'Vargas
82

Über die Windows-Befehlszeile:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

Um den PYTHONPATH dauerhaft einzustellen, fügen Sie die Zeile zu Ihrem hinzu autoexec.bat. Wenn Sie die Systemvariable über die Systemeigenschaften bearbeiten, wird sie alternativ auch dauerhaft geändert.

Yuval Adam
quelle
1
Hat funktioniert, aber jedes Mal, wenn ich dos öffne, musste ich den Pfad festlegen.
Darren
7
Ich bevorzuge zu verwendenset path=%PATH%;%PYTHONPATH%;
Herr Mittwoch
5
Dos und Bearbeitung autoexec.bat ..! Sind wir plötzlich zurück in die 90er Jahre gerutscht?
Drexiya
4
Vor diesem tun echo% PYTHONPATH% , wenn das gibt Ihnen einen Weg weitergehen, sonst, zum Beispiel tun Satz PYTHONPATH = .; C: \ My_python_lib Wenn Sie nicht tun, werden Fenster% PYTHONPATH% auf leere Zeichenfolge erweitern , wie erwartet, wird es Behalte es als% PYTHONPATH% im PYTHONPATH und alles wird kaputt gehen! Klingt verrückt, aber so funktioniert win7 cmd ...
ntg
69

Hängen Sie einfach Ihren Installationspfad (ex. C: \ Python27 \ ) in das PATH - Variable in Systemvariablen . Schließen und öffnen Sie dann Ihre Befehlszeile und geben Sie 'python' ein .

Paulino III
quelle
37
Dies beantwortet eine völlig andere Frage als die, die OP gestellt hat.
wpercy
1
Die Frage bezieht sich nicht auf das PATH, was DOS verwendet, um Befehle zu finden, sondern auf den Python-Pfad, dh sys.pathin Python. In den meisten Betriebssystemen verwendet Python nur die Systemumgebungsvariable PYTHONPATH, aber Windows scheint "speziell" zu sein.
Michael Scheper
52

Diese Lösungen funktionieren, aber sie funktionieren NUR für Ihren Code auf Ihrem Computer. Ich würde Ihrem Code ein paar Zeilen hinzufügen, die so aussehen:

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

Das sollte sich um Ihre Probleme kümmern

inspectorG4dget
quelle
4
Eine solche Änderung sys.pathist aus guten Gründen verpönt. Es gibt bessere Konfigurationsmöglichkeiten sys.path- PYTHONPATHUmgebungsvariablen und .pthDateien.
Piotr Dobrogost
38

Hinzufügen von Python und PythonPath zur Windows-Umgebung:

  1. Öffnen Sie den Explorer.
  2. Klicken Sie im Navigationsbaumfenster links mit der rechten Maustaste auf "Computer" .
  3. Wählen Sie unten im Kontextmenü "Eigenschaften" .
  4. Wählen Sie "Erweiterte Systemeinstellungen".
  5. Klicken Sie auf der Registerkarte "Erweitert " auf "Umgebungsvariablen ..."
  6. Unter 'Systemvariablen' :

    1. Hinzufügen

      • PY_HOME

        C:\Python27
      • PYTHONPATH

        %PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk;C:\another-library
    2. Anhängen

      • path

        %PY_HOME%;%PY_HOME%\Scripts\
Mr. Polywhirl
quelle
3
Dies ist die einzige Lösung, die für mich funktioniert hat. Für diejenigen unter Ihnen, die keine Administratorrechte haben, führen Sie einfach die obigen Schritte unter "Benutzervariablen für [Ihr Benutzername]" aus. Dies funktioniert genauso gut.
Tarife KA
Python unter Windows, der node.js jetzt ein bisschen mehr schätzt
Eddie
19

Der einfachere Weg, den Pfad in Python festzulegen, ist: Klicken Sie auf Start> Arbeitsplatz> Eigenschaften> Erweiterte Systemeinstellungen> Umgebungsvariablen> zweites Fenster>

Geben Sie hier die Bildbeschreibung ein

Wählen Sie Pfad> Bearbeiten> und fügen Sie dann "; C: \ Python27 \; C: \ Python27 \ Scripts \" hinzu.

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

Bamara Coulibaly
quelle
Das Ändern des Systempfads hat nichts geändert (auch das Löschen). Aber die Eingabe von admin cmd funktionierte: ftype Python.File = "C: \ Python27 \ python.exe" "% 1"% *
JinSnow
13

Sie können auch eine .pthDatei hinzufügen , die das gewünschte Verzeichnis in Ihrem c:\PythonX.Xoder Ihrem Ordner enthält. \site-packages folderDies ist meine bevorzugte Methode, wenn ich ein Python-Paket entwickle.

Sehen Sie hier für weitere Informationen.

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

Dies bleibt beim Neustart nicht bestehen und wird nicht in andere Dateien übersetzt. Es ist jedoch großartig, wenn Sie Ihr System nicht dauerhaft ändern möchten.

Gajendra D Ambi
quelle
1
+1 für die Möglichkeit, Pfade festzulegen, sind Laufzeit. Während es wohl "hacky" ist, wenn ein Proof of Concept oder ein einmaliger Job geschrieben wird, ist dies perfekt und lässt das System unverändert.
Joshua Burns
Ich bin nicht der Meinung, dass Sie dies nur einmal tun müssen. Ich finde, dass der zusätzliche Pfad nach dem kernalen Neustart nicht bestehen bleibt
StackG
8

Der einfachste Weg, dies erfolgreich zu tun, besteht darin, das Python-Installationsprogramm erneut auszuführen (nach der ersten Installation) und dann:

  1. Wählen Sie Ändern.
  2. Überprüfen Sie die gewünschten optionalen Funktionen und klicken Sie auf Weiter.
  3. Jetzt müssen Sie im Schritt "Erweiterte Optionen" eine Option mit der Aufschrift "Python zu Umgebungsvariablen hinzufügen" sehen. Aktivieren Sie einfach diese Option und klicken Sie auf Installieren. 3. Schritt Nach Abschluss der Installation werden Python-Umgebungsvariablen hinzugefügt, und Sie können Python problemlos überall verwenden.
Hamidreza
quelle
6

In Python 3.4 unter Windows funktionierte es, als ich es anstelle von PYTHONPATH zur Umgebungsvariablen PATH hinzufügte. Wenn Sie Python 3.4 in D: \ Programming \ Python34 installiert haben, fügen Sie dies am Ende Ihrer Umgebungsvariablen PATH hinzu

;D:\Programming\Python34

Schließen Sie die Eingabeaufforderung, öffnen Sie sie erneut und führen Sie 'python' aus. Es öffnet sich die Python-Shell. Dies hat auch mein Sublime 3-Problem behoben, dass "Python nicht als interner oder externer Befehl erkannt wird" .

Oktan
quelle
Ja, das war die einzige Lösung für mich (Python 3.x). Ich habe wirklich keine Ahnung, warum% PYTHONPATH% im Pfadparameter nicht aufgelöst wird. Das Aufrufen des Skriptordners war nicht erforderlich.
Davidson Lima
6

Die Python 2.X-Pfade können anhand einiger der obigen Anweisungen festgelegt werden. Python 3 wird standardmäßig in C: \ Benutzer \\ AppData \ Local \ Programme \ Python \ Python35-32 \ installiert. Daher muss dieser Pfad der Pfadvariablen in der Windows-Umgebung hinzugefügt werden.

Pavan Ebbadi
quelle
5

Um PYTHONPATH zu erweitern, führen Sie regedit aus und navigieren Sie zu KEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore. Wählen Sie dann den Ordner für die Python-Version aus, die Sie verwenden möchten. Darin befindet sich ein Ordner mit der Bezeichnung PythonPath mit einem Eintrag, der die Pfade angibt, in denen die Standardinstallation Module speichert. Klicken Sie mit der rechten Maustaste auf PythonPath und erstellen Sie einen neuen Schlüssel. Möglicherweise möchten Sie den Schlüssel nach dem Projekt benennen, dessen Modulpositionen angegeben werden. Auf diese Weise können Sie Ihre Pfadänderungen einfach unterteilen und verfolgen.

Vielen Dank

Brajendu Kumar Das
quelle
4

Die Umgebungsvariable PYTHONPATH wird von Python verwendet, um eine Liste von Verzeichnissen anzugeben, aus denen Module unter Windows importiert werden können. Während des Laufens können Sie die überprüfensys.path Variable festzustellen, welche Verzeichnisse durchsucht werden, wenn Sie etwas importieren.

Verwenden Sie:, um diese Variable über die Eingabeaufforderung festzulegen set PYTHONPATH=list;of;paths.

Verwenden Sie zum Festlegen dieser Variablen in PowerShell Folgendes: $env:PYTHONPATH=’list;of;paths’ Sie kurz bevor Sie Python starten.

Das globale Festlegen dieser Variablen über die Einstellungen für Umgebungsvariablen wird nicht empfohlen, da sie von jeder Python-Version anstelle der von Ihnen beabsichtigten verwendet werden kann. Weitere Informationen finden Sie in den häufig gestellten Fragen zu Python unter Windows .

MWOJO
quelle
3

Für alle, die dies mit Python 3.3+ erreichen möchten, enthält das Windows-Installationsprogramm jetzt eine Option zum Hinzufügen von python.exe zum Systemsuchpfad. Lesen Sie mehr in den Dokumenten .

Andreas Bergström
quelle
3

Diese Frage braucht eine richtige Antwort:

Verwenden Sie einfach das Standardpaket site, das für diesen Job erstellt wurde!

und hier ist wie ( meine eigene Antwort auf meine eigene Frage zum selben Thema plagen ):


  1. Öffnen Sie eine Python-Eingabeaufforderung und geben Sie ein
>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python37\\site-packages'
...
  1. Erstellen Sie diesen Ordner, falls er noch nicht vorhanden ist:
...
>>> import os
>>> os.makedirs(site.USER_SITE)
...
  1. Erstellen Sie sitecustomize.pyin diesem Ordner eine Datei mit dem Inhalt von FIND_MY_PACKAGES, entweder manuell oder mit dem folgenden Code. Natürlich müssen Sie C:\My_Projectsden richtigen Pfad zu Ihrem benutzerdefinierten Importspeicherort ändern .
...
>>> 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)

Und wenn Sie Python das nächste Mal starten, C:\My_Projectsist es in Ihrem vorhanden sys.path, ohne dass Sie systemweite Einstellungen berühren müssen. Bonus: Die oben genannten Schritte funktionieren auch unter Linux!

ojdo
quelle
Dies ist der richtige Weg, wie es scheint. Eine gute, plattformübergreifende und langfristige Lösung. Tolle Sache!
Pramesh Bajracharya
2

Diese PYTHONPATHVariable muss festgelegt werden, ArcPYwenn ArcGIS Desktop installiert wird.

PYTHONPATH=C:\arcgis\bin (Ihr ArcGIS-Papierkorb)

Aus irgendeinem Grund wurde es nie festgelegt, als ich das Installationsprogramm auf einem Windows 7 32-Bit-System verwendete.

Dan Randolph
quelle
2

Ich habe es in Windows 10 funktioniert, indem ich die folgenden Schritte befolgt habe.

Unter Umgebungsvariablen sollten Sie es nur unter PATH von " Systemvariablen " und nicht unter " Benutzervariablen " hinzufügen . Dies ist eine große Verwirrung und frisst Zeit, wenn wir es vermissen.

Versuchen Sie auch einfach, zu dem Pfad zu navigieren, in dem Python auf Ihrem Computer installiert ist, und fügen Sie ihn PATH hinzu. Dies funktioniert einfach und ich muss in meinem Fall nichts anderes hinzufügen. Ich habe direkt unter dem Pfad hinzugefügt und es hat funktioniert.

C: \ Benutzer \ Ihr Benutzername \ AppData \ Local \ Programme \ Python \ Python37-32

Am wichtigsten ist , schließen Sie die Eingabeaufforderung, öffnen Sie sie erneut und versuchen Sie erneut, "python" einzugeben, um die Versionsdetails anzuzeigen. Sie müssen die Eingabeaufforderung neu starten, um die Version anzuzeigen, nachdem Sie den Pfad in Umgebungsvariablen eingerichtet haben.

Nach dem Neustart sollten Sie in der Lage sein , die Python-Eingabeaufforderung und die folgenden Informationen zu sehen, wenn Sie Python in die Eingabeaufforderung eingeben:

Beim Eingeben von Python in die Eingabeaufforderung

Ravi Shankar Kota
quelle
1

Vielleicht etwas spät, aber so fügen Sie den Pfad zu den Windows-Umgebungsvariablen hinzu.

  1. Wechseln Sie zur Registerkarte Umgebungsvariablen. Drücken Sie dazu die Windows-Taste + Pausa inter.

  2. Gehen Sie zu Erweiterte Systemeinstellungen.

  3. Klicken Sie auf Umgebungsvariablen.

  4. Suchen Sie im unteren Fenster nach dem Wert 'Pfad'.

  5. Wählen Sie es aus

  6. Klicken Sie auf Bearbeiten

  7. Fügen Sie am Ende der Zeile Ihren Installationsordner und die Route zum Ordner "Skripte" hinzu.

  8. Klicken Sie auf OK, Aceptar usw.

Wenn Sie fertig sind, geben Sie cmd ein und schreiben Sie Python von einem beliebigen Ort Ihres Laufwerks aus. Es sollte in das Python-Programm eingegeben werden.

Beispiel mit meinem PC (ich habe Python34)

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

Ich hoffe es hilft.

Grüße aus Bogotá

Sandatomo
quelle
2
Es ist in der Tat etwas spät, da diese Antwort bereits vor fünf Jahren gegeben wurde :-) Es ist auch nicht wirklich das, was hier gestellt wird (da es sich um PYTHONPATH handelt, nicht um PATH) ...
Martin Tournoij
2
Was ist Pausa inter?
Ringo
0

Sie können die Pfadvariable einfach über die Eingabeaufforderung festlegen.

  1. Öffnen Sie run und schreiben Sie cmd

  2. Schreiben Sie im Befehlsfenster Folgendes: set path =% path%; C: \ python36

  3. Drücken Sie Enter.
  4. um zu überprüfen, schreiben Sie Python und geben Sie ein. Sie sehen die Python-Version wie im Bild gezeigt.

Geben Sie hier die Bildbeschreibung ein

Abdur Rahman
quelle
0

Während es sich bei dieser Frage um das "echte" Python handelt, wurde sie in einer Websuche nach "Iron Python PYTHONPATH" gestellt. Für Iron Python-Benutzer so verwirrt wie ich: Es stellt sich heraus, dass Iron Python nach einer Umgebungsvariablen namens suchtIRONPYTHONPATH .

Linux / Mac / POSIX-Benutzer: Vergessen Sie nicht, dass Windows nicht nur \als Pfadtrennzeichen verwendet, sondern auch ;als Pfadbegrenzer :.

Michael Scheper
quelle