Jak dodać do PYTHONPATH w systemie Windows, aby znaleźć moje moduły / pakiety?

369

Mam katalog, w którym znajdują się wszystkie moje aplikacje Django ( C:\My_Projects). Chcę dodać ten katalog do mojego, PYTHONPATHaby móc bezpośrednio wywoływać aplikacje.

Próbowałem dodać C:\My_Projects\;do mojej Pathzmiennej Windows z GUI systemu Windows ( My Computer > Properties > Advanced System Settings > Environment Variables). Ale nadal nie odczytuje modułu Coltrane i generuje ten błąd:

Błąd: brak modułu o nazwie coltrane

darren
źródło
dla błędu „bez modułu o nazwie”: stackoverflow.com/questions/23417941/…
JinSnow
1
Użyłem sitemodułu .
Zeinab Abbasimazar
jeśli chcesz uruchomić Pythona w wierszu polecenia, odpowiedź jest dobrze tutaj Mam nadzieję, że to pomoże stackoverflow.com/a/54618199/8253662
maheshmnj

Odpowiedzi:

411

Wiesz, co zadziałało dla mnie naprawdę dobrze w systemie Windows.

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

Po prostu dodaj ścieżkę jako C: \ Python27 (lub gdziekolwiek zainstalowałeś Python)

LUB

Następnie pod zmiennymi systemowymi tworzę nową Zmienną o nazwie PythonPath. W tej zmiennej mamC:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\other-folders-on-the-path

wprowadź opis zdjęcia tutaj

To najlepszy sposób, który zadziałał dla mnie, którego nie znalazłem w żadnym z oferowanych dokumentów.

EDYCJA: Dla tych, którzy nie są w stanie go zdobyć, dodaj

C: \ Python27;

razem z tym. W przeciwnym razie to nigdy nie zadziała .

darren
źródło
50
Prawdopodobnie chcesz dodać C:\Python27na swojej ścieżce.
Wei Yang,
5
@ SteveKoch Nie jestem pewien - musiałbyś zapytać opiekuna projektu. Nie korzystam już z edytora ścieżek, ponieważ przeszedłem do znacznie lepszego edytora szybkiego środowiska
Piotr Dobrogost
5
Ważne jest również dodanie do ścieżki C: \ Python27 \ Scripts, aby zainstalowane skrypty mogły być uruchamiane z powłoki.
Tyler Brock
6
Dlaczego chcesz umieścić C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tkw PYTHONPATH? Te są już skonfigurowane. Katalogi skryptów trafiają do systemu PATH. Wchodzą katalogi bibliotek (które nie są zainstalowane site-packageslub dla poszczególnych użytkowników site-packages) PYTHONPATH.
Eryk Sun,
11
Musiałem również dołączyć% PYTHONPATH% do mojej ŚCIEŻKI.
eightx2
124

Windows 7 Professional I zmodyfikowałem odpowiedź @ mongoose_za, aby ułatwić zmianę wersji Pythona:

  1. [Kliknij prawym przyciskiem myszy] Komputer> Właściwości> Zaawansowane ustawienia systemu> Zmienne środowiskowe
  2. Kliknij [Nowy] w sekcji „Zmienna systemowa”
  3. Nazwa zmiennej: PY_HOME, Wartość zmiennej: C: \ path \ to \ python \ version wprowadź opis zdjęcia tutaj
  4. Kliknij OK]
  5. Znajdź zmienną systemową „Ścieżka” i kliknij [Edytuj]
  6. Dodaj następujące elementy do istniejącej zmiennej:

    % PY_HOME%;% PY_HOME% \ Lib;% PY_HOME% \ DLLs;% PY_HOME% \ Lib \ lib-tk; wprowadź opis zdjęcia tutaj

  7. Kliknij [OK], aby zamknąć wszystkie okna.

W celu ostatecznego sprawdzenia poczytalności otwórz wiersz polecenia i wpisz python. Powinieneś zobaczyć

>python [whatever version you are using]

Jeśli musisz przełączać się między wersjami, wystarczy zmodyfikować zmienną PY_HOME, aby wskazywała właściwy katalog. Jest to nieco łatwiejsze do zarządzania, jeśli potrzebujesz zainstalowanych wielu wersji Pythona.

Delicia Brummitt
źródło
4
Próbowałem tego i zadziałało ... Polecam każdemu, kto ma ten sam problem, aby spróbować.
Christopher M.,
2
Próbowałem tego, w ogóle nic nie zrobiło.
GreySage
Próbowałem zaakceptować powyższą odpowiedź i to nie zadziałało, więc polecam tę.
mjwrazor
2
@Reihan_amn Mam na myśli katalog opakowujący, który zawiera lib, bin, libexec itp. Zazwyczaj te katalogi noszą nazwę Python [VERSION_NUMBER] /, ale widziałem także python / [VERSION_NUMBER]. Mam nadzieję, że to pomoże
Delicia Brummitt
5
Próbowałem tego i zadziałało to dla mnie. Musiałem dokonać jednej małej korekty, która polegała na kliknięciu przycisku Nowy dla każdego z tych wpisów w systemie Windows 10 podczas dodawania ich do zmiennej PATH. %PY_HOME%;%PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk; Musiałem także dodać, %PY_HOME%\Scriptswięc miałem dostęp do pipa i modułów instalowanych za pomocą pipa, takich jak pylint
Jose 'Vargas
82

Z wiersza poleceń systemu Windows:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

Aby ustawić PYTHONPATH na stałe, dodaj linię do swojego autoexec.bat. Alternatywnie, jeśli edytujesz zmienną systemową za pomocą Właściwości systemu, zostanie ona również zmieniona na stałe.

Yuval Adam
źródło
1
Działało, ale za każdym razem, gdy otwieram dos, musiałem wytyczać ścieżkę.
darren
7
Wolę używaćset path=%PATH%;%PYTHONPATH%;
panie środa,
5
Dos i edycja autoexec.bat ..! Czy nagle wróciliśmy do lat 90.?
drexiya,
4
Przed tym wykonaj echo% PYTHONPATH%, jeśli da ci to ścieżkę, w przeciwnym razie, np . Ustaw PYTHONPATH = .; C: \ My_python_lib Jeśli nie, Windows rozwinie% PYTHONPATH% do pustego ciągu, zgodnie z oczekiwaniami zachowaj go jako% PYTHONPATH% w PYTHONPATH i wszystko się zepsuje! Brzmi szalenie, ale tak działa win7 cmd ...
ntg
69

Wystarczy dołączyć ścieżkę instalacji (np. C: \ Python27 \ ) do zmiennej PATH w zmiennych systemowych . Następnie zamknij i otwórz wiersz poleceń i wpisz „python” .

Paulino III
źródło
37
Odpowiada to na zupełnie inne pytanie niż to, które zadał OP.
wpercy
1
Pytanie nie dotyczy tego, PATHczego DOS używa do wyszukiwania poleceń, ale ścieżki Pythona, tj. sys.pathW Pythonie. W większości systemów operacyjnych Python po prostu używa systemowej zmiennej środowiskowej PYTHONPATH, ale Windows wydaje się być „specjalny”.
Michael Scheper
52

Te rozwiązania działają, ale działają TYLKO na twoim komputerze. Dodałbym do twojego kodu kilka linii, które wyglądają tak:

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

To powinno zająć się twoimi problemami

inspectorG4dget
źródło
4
Modyfikowanie sys.pathtego jest niezadowolone i nie bez powodu. Istnieją lepsze sposoby konfiguracji sys.path- PYTHONPATHzmienna środowiskowa i .pthpliki.
Piotr Dobrogost
38

Dodawanie Python i PythonPath do środowiska Windows:

  1. Otwórz Eksploratora.
  2. Kliknij prawym przyciskiem myszy „Komputer” w panelu drzewa nawigacji po lewej stronie.
  3. Wybierz „Właściwości” u dołu menu kontekstowego.
  4. Wybierz „Zaawansowane ustawienia systemu”
  5. Kliknij „Zmienne środowiskowe ...” na karcie Zaawansowane
  6. W sekcji „Zmienne systemowe” :

    1. Dodaj

      • PY_HOME

        C:\Python27
      • PYTHONPATH

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

      • path

        %PY_HOME%;%PY_HOME%\Scripts\
Pan Polywhirl
źródło
3
To jedyne rozwiązanie, które działało dla mnie. Ponadto dla tych z was, którzy nie mają uprawnień administratora, wystarczy wykonać powyższe kroki w części „Zmienne użytkownika dla [twoja nazwa_użytkownika]” i będzie działać równie dobrze.
taryfy KA
Python w systemie Windows, doceniając teraz nieco node.js
Eddie
19

Najłatwiejszym sposobem ustawienia ścieżki w pythonie jest: kliknij start> Mój komputer> Właściwości> Zaawansowane ustawienia systemu> Zmienne środowiskowe> drugie okna>

wprowadź opis zdjęcia tutaj

wybierz Ścieżka> Edytuj>, a następnie dodaj „; C: \ Python27 \; C: \ Python27 \ Scripts \”

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

Bamara Coulibaly
źródło
zmiana ścieżki systemowej nic nie zmieniła (również ją usuwam). Ale pisanie w cmd admin działało: ftype Python.File = "C: \ Python27 \ python.exe" "% 1"% *
JinSnow
13

Możesz także dodać .pthplik zawierający żądany katalog do swojego c:\PythonX.Xfolderu lub własnego \site-packages folder, co jest zwykle moją preferowaną metodą podczas tworzenia pakietu Python.

Zobacz tutaj, aby uzyskać więcej informacji.

brentlance
źródło
9
import sys
sys.path.append("path/to/Modules")
print sys.path

Nie będzie to trwało po ponownym uruchomieniu komputera ani nie zostanie przetłumaczone na inne pliki. Jest to jednak świetne, jeśli nie chcesz dokonywać trwałych modyfikacji w swoim systemie.

Gajendra D Ambi
źródło
1
+1 za zdolność do ustawiania ścieżek to czas działania. choć prawdopodobnie „hacky”, podczas pisania dowodu koncepcji lub jednorazowej pracy, jest to idealne i pozostawia system niezmodyfikowany.
Joshua Burns
Nie zgadzam się, że musisz to zrobić tylko raz. Uważam, że dodatkowa ścieżka nie utrzymuje się po ponownym uruchomieniu
jądra
8

Najłatwiejszym sposobem, aby to zrobić, jest ponowne uruchomienie instalatora Pythona (po pierwszej instalacji), a następnie:

  1. wybierz Zmień.
  2. zaznacz żądane funkcje opcjonalne i kliknij Dalej.
  3. zaczynamy, w kroku „Opcje zaawansowane” musisz zobaczyć opcję „Dodaj Python do zmiennych środowiskowych”. Po prostu zaznacz tę opcję i kliknij Zainstaluj. 3. krok Po zakończeniu instalacji dodawane są zmienne środowiskowe Python i możesz z łatwością korzystać z Pythona wszędzie.
Hamidreza
źródło
6

W Pythonie 3.4 w systemie Windows działało, gdy dodałem go do zmiennej środowiskowej PATH zamiast PYTHONPATH. Na przykład, jeśli zainstalowałeś Python 3.4 w D: \ Programming \ Python34, to dodaj go na końcu zmiennej środowiskowej PATH

;D:\Programming\Python34

Zamknij i ponownie otwórz wiersz polecenia i uruchom „python”. Otworzy powłokę pytona. To również naprawiło mój problem Sublime 3 „python nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne” .

Oktan
źródło
Tak, to było dla mnie jedyne rozwiązanie (Python 3.x). Naprawdę nie mam pojęcia, dlaczego% PYTHONPATH% nie zostało rozwiązane w parametrze Ścieżka. Wywołanie folderu Skryptów nie było konieczne.
Davidson Lima
6

Ścieżki Pythona 2.X można ustawić na podstawie kilku powyższych instrukcji. Python 3 domyślnie zostanie zainstalowany w C: \ Users \\ AppData \ Local \ Programs \ Python \ Python35-32 \ Tak więc tę ścieżkę należy dodać do zmiennej Path w środowisku Windows.

Pavan Ebbadi
źródło
5

Aby rozszerzyć PYTHONPATH, uruchom polecenie regedit i przejdź do KEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore, a następnie wybierz folder wersji python, której chcesz użyć. Wewnątrz znajduje się folder o nazwie PythonPath, z jednym wpisem określającym ścieżki, w których domyślna instalacja przechowuje moduły. Kliknij prawym przyciskiem myszy PythonPath i wybierz, aby utworzyć nowy klucz. Możesz nazwać klucz po projekcie, którego lokalizację modułu określi; w ten sposób możesz łatwo podzielić na przedziały i śledzić modyfikacje ścieżki.

dzięki

Brajendu Kumar Das
źródło
4

Zmienna środowiskowa PYTHONPATH jest używana przez Python do określenia listy katalogów, z których moduły mogą być importowane w systemie Windows. Podczas pracy możesz sprawdzić sys.pathzmienną, aby zobaczyć, które katalogi będą wyszukiwane podczas importowania czegoś.

Aby ustawić tę zmienną z wiersza polecenia, użytkowania: set PYTHONPATH=list;of;paths.

Aby ustawić tę zmienną z PowerShell, użyj: $env:PYTHONPATH=’list;of;paths’tuż przed uruchomieniem Pythona.

Globalne ustawienie tej zmiennej za pomocą ustawień Zmiennych środowiskowych nie jest zalecane, ponieważ może być używana przez dowolną wersję Pythona zamiast tej, której zamierzasz używać. Przeczytaj więcej w dokumentacji Python na Windows FAQ .

MWOJO
źródło
3

Dla każdego, kto próbuje to osiągnąć za pomocą Python 3.3+, instalator Windows zawiera teraz opcję dodania python.exe do ścieżki wyszukiwania systemu. Przeczytaj więcej w dokumentach .

Andreas Bergström
źródło
3

To pytanie wymaga poprawnej odpowiedzi:

Wystarczy użyć standardowego pakietu site, który został stworzony do tego zadania!

a oto jak (przedstawiając własną odpowiedź na moje pytanie na ten sam temat):


  1. Otwórz wiersz Python i wpisz
>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python37\\site-packages'
...
  1. Utwórz ten folder, jeśli jeszcze nie istnieje:
...
>>> import os
>>> os.makedirs(site.USER_SITE)
...
  1. Utwórz plik sitecustomize.pyw tym folderze zawierający zawartość FIND_MY_PACKAGES, ręcznie lub przy użyciu czegoś takiego jak poniższy kod. Oczywiście musisz zmienić C:\My_Projectsprawidłową ścieżkę do niestandardowej lokalizacji importu.
...
>>> 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)

Następnym razem, gdy uruchomisz Python, C:\My_Projectsjest on obecny w twoim sys.path, bez konieczności dotykania ustawień całego systemu. Bonus: powyższe kroki działają również w systemie Linux!

ojdo
źródło
Wydaje się, że jest to droga. Dobre, wieloplatformowe i długoterminowe rozwiązanie. Świetnie!
Pramesh Bajracharya
2

PYTHONPATHzmienną należy ustawić dla instalacji ArcPYArcGIS Desktop.

PYTHONPATH=C:\arcgis\bin (twój domowy kosz ArcGIS)

Z jakiegoś powodu nigdy nie został ustawiony, gdy korzystałem z instalatora w 32-bitowym systemie Windows 7.

Dan Randolph
źródło
2

Sprawiłem, że zadziałało w systemie Windows 10 , wykonując poniższe kroki.

W przypadku zmiennych środowiskowych należy dodawać go tylko pod ŚCIEŻKĄ „ Zmiennych systemowych ”, a nie w „ Zmiennych użytkownika ”. To wielkie zamieszanie i zjada czas, jeśli go przegapimy.

Spróbuj także przejść do ścieżki, w której zainstalowałeś Python na swoim komputerze i dodaj go do PATH. To po prostu działa i nie trzeba dodawać żadnych innych rzeczy w moim przypadku. Dodałem tuż poniżej ścieżki i zadziałało.

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

Najważniejsze , zamknij wiersz polecenia, otwórz ponownie, a następnie spróbuj ponownie wpisać „python”, aby zobaczyć szczegóły wersji. Musisz ponownie uruchomić wiersz polecenia, aby zobaczyć wersję po skonfigurowaniu ścieżki w zmiennych środowiskowych.

Po ponownym uruchomieniu, podczas pisania python w wierszu polecenia powinieneś zobaczyć python i poniższe informacje:

Po wpisaniu python w wierszu polecenia

Ravi Shankar Kota
źródło
1

Może trochę później, ale w ten sposób dodajesz ścieżkę do zmiennych środowiska Windows.

  1. Przejdź do zakładki Zmienne środowiskowe, robisz to naciskając klawisze Windows + Pausa inter.

  2. Przejdź do Advanced System Settings.

  3. Kliknij Zmienne środowiskowe.

  4. W dolnym oknie wyszukaj wartość „Ścieżka”.

  5. Wybierz to

  6. Kliknij Edytuj

  7. Na końcu wiersza dodaj folder instalacyjny i trasę do folderu „Scripts”.

  8. Kliknij OK, Aceptar itp.

Skończyłeś, wpisz cmd i napisz python z dowolnego miejsca na dysku, powinien wejść do programu Python.

Przykład z moim komputerem (mam Python34)

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

Mam nadzieję, że to pomoże.

Pozdrowienia z Bogoty

sandatomo
źródło
2
Rzeczywiście jest trochę późno, ponieważ odpowiedź ta została już udzielona pięć lat temu :-) Nie jest też tak naprawdę
zadawana
2
Co to jest Pausa inter.?
Ringo
0

Możesz łatwo ustawić zmienną ścieżki za pomocą wiersza polecenia.

  1. Otwórz i napisz cmd

  2. W oknie poleceń wpisz: set path =% path%; C: \ python36

  3. naciśnij enter.
  4. aby sprawdzić, napisz python i wpisz. Zobaczysz wersję Pythona, jak pokazano na obrazku.

wprowadź opis zdjęcia tutaj

Abdur Rahman
źródło
0

Chociaż pytanie dotyczy „prawdziwego” Pythona, pojawiło się w wyszukiwaniu „Iron Python PYTHONPATH”. Dla użytkowników Iron Python tak zdezorientowanych jak ja: Okazuje się, że Iron Python szuka zmiennej środowiskowej o nazwieIRONPYTHONPATH .

Użytkownicy systemów Linux / Mac / POSIX: nie zapominaj, że system Windows nie tylko służy \jako separatory ścieżek, ale także ;jako separatory ścieżek :.

Michael Scheper
źródło