Come aggiungere a PYTHONPATH in Windows, così trova i miei moduli / pacchetti?


369

Ho una directory che ospita tutte le mie app Django ( C:\My_Projects). Voglio aggiungere questa directory alla mia in PYTHONPATHmodo da poter chiamare direttamente le app.

Ho provato ad aggiungere C:\My_Projects\;alla mia Pathvariabile di Windows dalla GUI di Windows ( My Computer > Properties > Advanced System Settings > Environment Variables). Ma continua a non leggere il modulo Coltrane e genera questo errore:

Errore: nessun modulo chiamato coltrane


per "nessun modulo denominato" Errore: stackoverflow.com/questions/23417941/...
JinSnow

1
Ho usato il sitemodulo .
Zeinab Abbasimazar,

se si desidera eseguire python al prompt dei comandi si risponde bene qui Spero che questo aiuta stackoverflow.com/a/54618199/8253662
maheshmnj

Risposte:


411

Sai cosa ha funzionato davvero bene per me su Windows.

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

Aggiungi semplicemente il percorso come C: \ Python27 (o ovunque tu abbia installato Python)

O

Quindi, sotto le variabili di sistema, creo una nuova variabile chiamata PythonPath. In questa variabile hoC:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\other-folders-on-the-path

inserisci qui la descrizione dell'immagine

Questo è il modo migliore che ha funzionato per me che non avevo trovato in nessuno dei documenti offerti.

EDIT: per coloro che non sono in grado di ottenerlo, si prega di aggiungere

C: \ Python27;

insieme ad esso. Altrimenti non funzionerà mai .


50
Probabilmente vuoi aggiungere C:\Python27nel tuo percorso.
Wei Yang,

5
@SteveKoch Non ne sono sicuro - dovresti chiedere al responsabile della manutenzione del progetto. Non utilizzo più Path Editor perché sono passato a Rapid Environment Editor
Piotr Dobrogost,

5
È anche importante aggiungere C: \ Python27 \ Scripts al percorso in modo che gli script installati possano essere eseguiti dalla shell.
Tyler Brock,

6
Perché si mette C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tkin PYTHONPATH? Quelli sono già configurati. Le directory per gli script vanno nel sistema PATH. Le directory per le librerie (che non sono installate site-packageso per l'utente site-packages) entrano PYTHONPATH.
Eryk Sun,

11
Ho dovuto includere anche% PYTHONPATH nel mio PERCORSO.
ottox2,

124

Windows 7 Professional I Ho modificato la risposta di mongoose_za per semplificare la modifica della versione di Python:

  1. [Clic destro] Computer> Proprietà> Impostazioni di sistema avanzate> Variabili d'ambiente
  2. Fare clic su [Nuovo] in "Variabile di sistema"
  3. Nome variabile: PY_HOME, Valore variabile: C: \ path \ to \ python \ versione inserisci qui la descrizione dell'immagine
  4. Fai clic su [OK]
  5. Individua la variabile di sistema "Percorso" e fai clic su [Modifica]
  6. Aggiungi quanto segue alla variabile esistente:

    % PY_HOME%;% PY_HOME% \ Lib;% PY_HOME% \ DLL;% PY_HOME% \ lib \ lib-tk; inserisci qui la descrizione dell'immagine

  7. Fare clic su [OK] per chiudere tutte le finestre.

Come controllo di integrità finale, apri un prompt dei comandi e inserisci Python. Tu dovresti vedere

>python [whatever version you are using]

Se è necessario passare da una versione all'altra, è sufficiente modificare la variabile PY_HOME per puntare alla directory corretta. È più semplice da gestire se sono necessarie più versioni di Python installate.


4
Ho provato questo e ha funzionato ... consiglierei a tutti di provare lo stesso problema.
Christopher M.,

2
Ho provato questo, non ha fatto nulla.
GreySage,

Ho provato la risposta accettata sopra e non ha funzionato, quindi consiglierei questo.
mjwrazor,

2
@Reihan_amn Intendo la directory di wrapping che contiene lib, bin, libexec, ecc. In genere queste directory sono chiamate Python [VERSION_NUMBER] /, ma ho anche visto python / [VERSION_NUMBER]. Spero che questo aiuti
Delicia Brummitt,

5
Ho provato questo e ha funzionato per me. Ho dovuto apportare una piccola modifica che consisteva nel fare clic su Nuovo per ognuna di queste voci per Windows 10 quando le aggiungevo alla variabile PATH. %PY_HOME%;%PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk; Ho anche bisogno di aggiungere, %PY_HOME%\Scriptsquindi ho avuto accesso a pip e ai moduli che installo con pip come pylint
Jose 'Vargas,

83

Dalla riga di comando di Windows:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

Per impostare il PYTHONPATH in modo permanente, aggiungi la linea alla tua autoexec.bat. In alternativa, se si modifica la variabile di sistema tramite le Proprietà del sistema, anche questa verrà modificata in modo permanente.


1
Ha funzionato, ma ogni volta che apro dos ho dovuto impostare il percorso.
darren,

7
Preferisco usareset path=%PATH%;%PYTHONPATH%;
Mr mercoledì

5
Dos e modifica autoexec.bat ..! Siamo improvvisamente tornati negli anni '90?
Drexiya,

4
Prima di questo, fai eco% PYTHONPATH% se questo ti dà un percorso, altrimenti, ad esempio imposta PYTHONPATH = .; C: \ My_python_lib In caso contrario, Windows espanderà% PYTHONPATH% per svuotare la stringa come previsto, tenerlo come% PYTHONPATH% nel PYTHONPATH e tutto si romperà! Sembra folle ma è così che funziona win7 cmd ...
ntg

69

Basta aggiungere il percorso di installazione (es. C: \ Python27 \ ) alla variabile PATH nelle variabili di sistema . Quindi chiudere e aprire la riga di comando e digitare 'python' .


37
Questo sta rispondendo a una domanda completamente diversa da quella che l'OP stava ponendo.
wpercy,

1
La domanda non riguarda l'uso PATHche DOS utilizza per trovare i comandi, ma il percorso Python, ovvero sys.pathin Python. Nella maggior parte dei sistemi operativi, Python utilizza solo la variabile di ambiente di sistema PYTHONPATH, ma Windows sembra essere "speciale".
Michael Scheper,

52

Queste soluzioni funzionano, ma funzionano solo per il tuo codice sulla tua macchina. Vorrei aggiungere un paio di righe al tuo codice che assomigliano a questo:

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

Questo dovrebbe prendersi cura dei tuoi problemi


4
Modificando in sys.pathquesto modo viene disapprovato e per buoni motivi. Esistono modi migliori per la configurazione sys.path: PYTHONPATHvariabili di ambiente e .pthfile.
Piotr Dobrogost,

38

Aggiunta di Python e PythonPath all'ambiente Windows:

  1. Apri Explorer.
  2. Fare clic con il tasto destro del mouse su "Computer" nel pannello dell'albero di navigazione a sinistra.
  3. Seleziona "Proprietà" nella parte inferiore del menu contestuale.
  4. Selezionare "Impostazioni di sistema avanzate"
  5. Clic "Variabili d'ambiente ..." nella scheda Avanzate
  6. In "Variabili di sistema" :

    1. Inserisci

      • PY_HOME

        C:\Python27
      • PYTHONPATH

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

      • path

        %PY_HOME%;%PY_HOME%\Scripts\

3
Questa è l'unica soluzione che ha funzionato per me. Inoltre, per quelli di voi che non dispongono dei diritti di amministratore, basta seguire i passaggi sopra in "Variabili utente per [nome utente]" e funzionerà altrettanto bene.
Tariffe KA

Python su Windows, apprezzando node.js un po 'di più in questo momento
Eddie

19

Il modo più semplice per impostare il percorso in Python è: fare clic su Start> Risorse del computer> Proprietà> Impostazioni di sistema avanzate> Variabili d'ambiente> second windows>

inserisci qui la descrizione dell'immagine

seleziona Percorso> Modifica> e quindi aggiungi "; C: \ Python27 \; C: \ Python27 \ Scripts \"

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


la modifica del percorso di sistema non ha modificato nulla (eliminandolo anche). Ma digitando admin cmd ha funzionato: ftype Python.File = "C: \ Python27 \ python.exe" "% 1"% *
JinSnow


13

Puoi anche aggiungere un .pthfile contenente la directory desiderata nella tua c:\PythonX.Xcartella o nella tua\site-packages folder , che tende ad essere il mio metodo preferito quando sto sviluppando un pacchetto Python.

Vedi qui per maggiori informazioni.


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

Questo non persisterà al riavvio o non verrà tradotto in altri file. È comunque fantastico se non si desidera apportare modifiche permanenti al proprio sistema.


1
+1 per la possibilità di impostare percorsi sono tempi di esecuzione. mentre probabilmente "hacky", quando si scrive una bozza di concetto o un lavoro unico, questo è perfetto e lascia il sistema immodificato.
Joshua Burns,

Non sono d'accordo che devi farlo solo una volta. Trovo che il percorso extra non persista oltre il riavvio di
Kernal

8

Il modo più semplice per farlo correttamente è eseguire nuovamente il programma di installazione di Python (dopo la prima installazione) e quindi:

  1. scegli Modifica.
  2. controlla le funzionalità opzionali che desideri e fai clic su Avanti.
  3. qui andiamo, nel passaggio "Opzioni avanzate" devi vedere un'opzione che dice "Aggiungi Python alle variabili di ambiente". Basta selezionare quell'opzione e fare clic su Installa. 3 ° passo Al termine dell'installazione, vengono aggiunte le variabili di ambiente python e puoi facilmente usare python ovunque.

6

In Python 3.4 su Windows ha funzionato quando l'ho aggiunto alla variabile di ambiente PATH invece di PYTHONPATH. Come se hai installato Python 3.4 in D: \ Programming \ Python34, aggiungi questo alla fine della tua variabile d'ambiente PATH

;D:\Programming\Python34

Chiudi e riapri il prompt dei comandi ed esegui 'python'. Si aprirà la shell python. Ciò ha anche risolto il problema di Sublime 3 di "python non è riconosciuto come comando interno o esterno" .


Sì, questa era l'unica soluzione per me (Python 3.x). Non ho davvero idea del perché% PYTHONPATH% non sia stato risolto sul parametro Path. Chiamare la cartella degli script non era necessario.
Davidson Lima,

6

I percorsi di Python 2.X possono essere impostati da alcune delle istruzioni precedenti. Python 3 verrà installato per impostazione predefinita in C: \ Users \\ AppData \ Local \ Programmi \ Python \ Python35-32 \ Quindi questo percorso deve essere aggiunto alla variabile Path in ambiente Windows.


5

Per aumentare PYTHONPATH, esegui regedit e vai a KEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore e quindi seleziona la cartella per la versione di Python che desideri utilizzare. Al suo interno si trova una cartella etichettata PythonPath, con una voce che specifica i percorsi in cui l'installazione predefinita memorizza i moduli. Fare clic con il tasto destro su PythonPath e scegliere di creare una nuova chiave. È possibile che si desideri denominare la chiave dopo il progetto di cui specificherà le posizioni del modulo; in questo modo, puoi facilmente compartimentare e tenere traccia delle modifiche del tuo percorso.

Grazie


4

La variabile di ambiente PYTHONPATH viene utilizzata da Python per specificare un elenco di directory da cui i moduli possono essere importati su Windows. Durante l'esecuzione, è possibile controllare la sys.pathvariabile per vedere quali directory verranno ricercate quando si importa qualcosa.

Per impostare questa variabile dal Prompt dei comandi, l'uso: set PYTHONPATH=list;of;paths.

Per impostare questa variabile da PowerShell, usare: $env:PYTHONPATH=’list;of;paths’poco prima di avviare Python.

L'impostazione di questa variabile a livello globale tramite le impostazioni delle variabili di ambiente non è consigliata, poiché può essere utilizzata da qualsiasi versione di Python anziché da quella che si intende utilizzare. Maggiori informazioni nei documenti FAQ di Python su Windows .


3

Per chiunque cerchi di ottenere questo risultato con Python 3.3+, il programma di installazione di Windows ora include un'opzione per aggiungere python.exe al percorso di ricerca del sistema. Maggiori informazioni nei documenti .


3

Questa domanda ha bisogno di una risposta adeguata:

Basta usare il pacchetto standard site, creato per questo lavoro!

ed ecco come (plagiando la mia risposta alla mia domanda sullo stesso argomento):


  1. Apri un prompt di Python e digita
>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python37\\site-packages'
...
  1. Crea questa cartella se non esiste ancora:
...
>>> import os
>>> os.makedirs(site.USER_SITE)
...
  1. Crea un file sitecustomize.pyin questa cartella contenente il contenuto di FIND_MY_PACKAGES, manualmente o usando qualcosa come il seguente codice. Naturalmente, è necessario passare C:\My_Projectsal percorso corretto per la posizione di importazione personalizzata.
...
>>> 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)

E la prossima volta che avvii Python, C:\My_Projectsè presente nel tuo sys.path, senza dover toccare le impostazioni di sistema. Bonus: i passaggi precedenti funzionano anche su Linux!


Questa è la strada da percorrere a quanto pare. Una buona soluzione multipiattaforma ea lungo termine. Grande!
Pramesh Bajracharya,

2

Questa PYTHONPATHvariabile deve essere impostata per l'installazione di ArcPYArcGIS Desktop.

PYTHONPATH=C:\arcgis\bin (il tuo cestino di ArcGIS)

Per qualche motivo non è mai stato impostato quando ho usato il programma di installazione su un sistema Windows 7 a 32 bit.


2

Ho funzionato in Windows 10 seguendo i passaggi seguenti.

In variabili d'ambiente, è necessario aggiungerlo solo sotto il PERCORSO di " Variabili di sistema " e non in " Variabili utente ". Questa è una grande confusione e fa perdere tempo se ci manca.

Inoltre, prova a navigare nel percorso in cui hai installato Python sul tuo computer e aggiungilo a PATH. Questo funziona e non ho bisogno di aggiungere altro nel mio caso. Ho aggiunto appena sotto il percorso e ha funzionato.

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

Cosa più importante , chiudi il prompt dei comandi, riapri e quindi riprova a digitare "python" per vedere i dettagli della versione. È necessario riavviare il prompt dei comandi per visualizzare la versione dopo aver impostato il percorso nelle variabili di ambiente.

Dopo il riavvio, dovresti essere in grado di vedere il prompt di Python e le informazioni seguenti quando digiti python nel prompt dei comandi:

Digitando python nel prompt dei comandi


1

Forse un po 'in ritardo, ma è così che aggiungi il percorso alle variabili di ambiente di Windows.

  1. Vai alla scheda Variabili d'ambiente, fai questo premendo il tasto Windows + Pausa inter.

  2. Vai a Impostazioni di sistema avanzate.

  3. Fai clic su Variabili d'ambiente.

  4. Nella finestra inferiore cerca il valore "Percorso".

  5. Selezionalo

  6. Fai clic su Modifica

  7. Alla fine della riga aggiungi la cartella di installazione e il percorso alla cartella "Script".

  8. Fai clic su OK, aceptar ecc.

Hai finito, inserisci cmd e scrivi Python da qualsiasi posizione del tuo disco, dovrebbe entrare nel programma Python.

Esempio con il mio pc (ho Python34)

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

Spero che sia d'aiuto.

Saluti da Bogotá


2
È davvero un po 'tardi, dato che questa risposta è già stata fornita cinque anni fa :-) Inoltre, non è proprio quello che viene chiesto qui (poiché la domanda riguarda PYTHONPATH, non PERCORSO) ...
Martin Tournoij

2
Che cos'è Pausa inter.?
Ringo,

0

È possibile impostare facilmente la variabile path dal prompt dei comandi.

  1. Apri esegui e scrivi cmd

  2. Nella finestra di comando scrivi quanto segue: set path =% path%; C: \ python36

  3. premere Invio.
  4. per controllare scrivere python ed entrare. Vedrai la versione di Python come mostrato in figura.

inserisci qui la descrizione dell'immagine


0

Sebbene questa domanda riguardi il "vero" Python, è emersa in una ricerca web per "Iron Python PYTHONPATH". Per gli utenti di Iron Python confusi quanto me: risulta che Iron Python cerca una variabile d'ambiente chiamataIRONPYTHONPATH .

Utenti Linux / Mac / POSIX: non dimenticare che non solo Windows utilizza \come separatori di percorso, ma utilizza anche ;come delimitatori di percorso :.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.