2013-04-15 11 views
10

Sto scrivendo un programma di installazione che estrarrà uno script da un file Python esistente e quindi lo userà nel programma Python principale. Quello che devo sapere come fare è import <file> dalla directory di lavoro corrente, non dalla libreria standard o dalla directory in cui si trova il codice principale. Come posso farlo?Come posso importare una libreria Python situata nella directory di lavoro corrente?

+0

Questa domanda sembra essere già stato risposto: [inserire descrizione collegamento qui] [1] [1]: http://stackoverflow.com/questions/1112618/import-python-package -from-local-directory-in-interpreter – rhinoinrepose

+0

@rhinoinrepose - No, sembra che qualcuno abbia un problema usando il codice discusso di seguito. Non mi sembra un vero capriccio. – Nathan2055

+0

@ Nathan2055: Tutte le risposte di seguito sono essenzialmente risposte alla domanda legata a rhinoinrepose. Se queste risposte funzionano per te, la tua domanda è duplice. Se queste risposte non funzionano per te, devi dare maggiori informazioni. –

risposta

12

Qualcosa del genere dovrebbe funzionare (non testato)

import os 
import sys 
sys.path.append(os.getcwd()) 
import foo 
13
import sys 
sys.path.append('path/to/your/file') 
import your.lib 

Ciò importare il contenuto del file dalla directory appena aggiunto. L'aggiunta di nuove directory al percorso Python in questo modo dura solo mentre lo script è in esecuzione, non è permanente.

4

Dovresti essere in grado di importare immediatamente il modulo dalla directory di lavoro corrente. In caso contrario, è possibile aggiungere la directory di lavoro corrente sys.path:

import sys 
sys.path.insert(0, 'path_to_your_module') # or: sys.path.insert(0, os.getcwd()) 
import your_module 

È inoltre possibile aggiungere la directory alla variabile d'ambiente PYTHONPATH.

Problemi correlati