Come scoprire quali directory sono elencate nella variabile PYTHONPATH
del mio sistema, all'interno di uno script Python (o della shell interattiva)?Come posso trovare il mio percorso Python usando python?
risposta
sys.path
potrebbe includere elementi che non sono specificatamente nella variabile di ambiente PYTHONPATH
. Per interrogare direttamente la variabile, utilizzare:
import os
try:
user_paths = os.environ['PYTHONPATH'].split(os.pathsep)
except KeyError:
user_paths = []
(o, più genericamente ... split (os.sep)). Non riesco a capire perché non stai ricevendo l'amore, Mark. La tua risposta è tecnicamente più accurata della risposta di Paul D Waite alla sua domanda ???? – mjv
Ah, eccellente. Grazie ragazzi, sospettavo che stavo facendo qualcosa di sbagliato. Ho cancellato la mia risposta sbagliata; Segna, se puoi modificare la tua risposta per includere il bit os.sep, i punti saranno giustamente tuoi. –
os.sep non è corretto, consultare http://stackoverflow.com/questions/1499019/how-to-get-the-path-separator-in-python –
Non riesco a modificare l'altra risposta. Ha un piccolo errore in quanto è solo per Windows. La soluzione più generica è utilizzare os.sep come segue:
sys.path potrebbe includere elementi che non sono specificatamente nella variabile di ambiente PYTHONPATH. Per interrogare la variabile direttamente, utilizzare:
import os
os.environ['PYTHONPATH'].split(os.pathsep)
Per i futuri lettori: 'os.sep' restituisce il separatore di directory per il sistema operativo , per esempio '/'. Il separatore utilizzato nel percorso Python è diverso e restituito da 'os.pathsep' come mostrato nella risposta accettata. –
nessun motivo per l'importazione sys qui, giusto? – Nathan
Probabilmente vorrebbe anche questo:
import sys
print(sys.path)
O come uno di linea dal terminale:
python -c "import sys; print('\n'.join(sys.path))"
Stesso. Linux aaa.com 2.6.18-4-686-bigmem # 1 SMP Wed 6 giugno 09:41:07 UTC 2007 i686 GNU/Linux ... Debian Sarge – Spechal
Questo è il modo indipendente dalla piattaforma e dall'ambiente per ottenere l'attuale il percorso python del runtime. –
Questa risposta è stata molto più utile per la mia situazione rispetto alla risposta accettata. So quali sono le mie variabili di ambiente. Avevo bisogno di sapere dove Python ha deciso di puntare oltre la mia variabile di ambiente. – Vorticity
- 1. Come posso trovare perdite di memoria nel mio programma Python?
- 2. Come trovare il percorso di installazione della libreria Python?
- 3. Posso trovare il percorso dell'eseguibile che esegue uno script python all'interno dello script python?
- 4. python - os.makedirs non capisco ~ nel mio percorso?
- 5. trovare il percorso assoluto di un file da python
- 6. Come posso ottenere il mio percorso precedente?
- 7. Python non riesce a trovare il mio modulo
- 8. Come posso ricostruire il mio mod_wsgi per usare python 2.7.3?
- 9. Come posso trovare il mio pacco?
- 10. Come posso assicurarmi che tutto il mio codice Python "compili"?
- 11. Come posso rendere il mio script Python più veloce?
- 12. Coppie di tupla, trovare il minimo usando python
- 13. Come posso trovare l'endianità del mio PC usando C?
- 14. Come trovare la prima lettera maiuscola nella stringa usando python
- 15. Come distribuire il mio script Python/shell?
- 16. python: come convogliare l'output usando il popen?
- 17. come stampare parola cinese nel mio codice .. usando python
- 18. Come posso eseguire il mio script Python dal terminale in Mac OS X senza dover digitare il percorso completo?
- 19. Come posso creare un documento Word usando Python?
- 20. Installazione PIP e percorso Python
- 21. come trovare il numero medio in python
- 22. Algoritmo del percorso più breve usando i dizionari [Python]
- 23. Dove posso trovare OpenCV per python?
- 24. Trovare il framework Python corretto con cmake
- 25. Trova il percorso dell'intestazione python all'interno di python?
- 26. Come cambiare il percorso di Python in Spyder?
- 27. python usando il metodo argparse.ArgumentParser
- 28. Come aggiornare il file yaml usando python
- 29. Python Popen Impossibile trovare il file specificato
- 30. Come trovo il percorso per un'importazione Python fallita?
io non sono sicuro di quello che stai cercando di fare, ma se vuoi sapere quali cartelle sono usate per cercare i moduli da importare non devi fare affidamento su 'PYTHONPATH'. Usa 'sys.path' per quello. – Vanuan
Per semplice esperimento, ho trovato la risposta di Vanuan in basso (stampando sys.path), stampa solo PYTHONPATH. Questo funziona dopo aver modificato il valore usando add_path (new_path) che aggiunge a PYTHONPATH. –
Il titolo di questo post e il corpo fanno due domande diverse. 'sys.path' è" Un elenco di stringhe che specifica il percorso di ricerca per i moduli "- https://docs.python.org/2/library/sys.html#sys.path. PYTHONPATH è una variabile di ambiente che effettua questo elenco. Con ogni ragionevole definizione 'sys.path' è il tuo" percorso python ". – spinkus