Joril ha scritto:
Scusate, temo sia una cavolata ma non riesco ad uscirne *_*; Sto provando WingIDE con un progetto minuscolo, con questa struttura di directory:src (dir) Main.py test (dir) __init__.py Test.py Dentro Main.py ho un semplicissimo from test.Test import Testing Se lancio Main tramite "Execute current file" funziona tutto, nel senso che mi compare una shell con l'output dovuto all'import di test/__init__.py e di Testing dentro Test.py. Se invece lo lancio tramite "Debug selected" mi esce l'eccezione "ImportError: No module named test.Test" So che potrei "manomettere" sys.path da codice per accomodare la cosa, ma vorrei capire il motivo della disparita' di trattamento tra debug ed esecuzione normale.. :/ Anche perche' presumo che risolvendo questo punto riuscirei ad usare anche il "go to definition" quando riguarda Test.py (al momento infatti mi esce "could not find definition of 'Test'")
Probabilmente è una faccenda di directory corrente: la cwd viene inclusa nel sys.path quando esegui uno script. Forse nel primo caso WingIDE effettua un chdir nella directory contenente il file corrente e non lo fa nel secondo caso.
Tanto per provare, aggiungi un "print '\n'.join(sys.path)" nel Main.py. Di solito la cwd è il primo elemento della lista.
Puoi anche evitare di manomettere il sys.path e aggiungere invece il percorso contenente il package nella variabile d'ambiente PYTHONPATH: ti garantirà il corretto funzionamento del package in tutte le condizioni. Anche sott'acqua. A lume di naso, la IDE ti dovrebbe permettere di impostarlo da qualche parte.
Ciao! -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com _______________________________________________ Python mailing list [email protected] http://lists.python.it/mailman/listinfo/python
