Ho recentemente modificato il layout di directory del mio programma: prima, avevo tutti i miei moduli nella cartella "principale". Ora li ho spostati in una directory chiamata dopo il programma e ho inserito uno __init__.py
per creare un pacchetto.Decapaggio di Python dopo aver cambiato la directory di un modulo
Ora ho un singolo file .py nella mia directory principale che viene utilizzato per avviare il mio programma, che è molto più ordinato.
In ogni caso, il tentativo di caricare file decapitati da versioni precedenti del mio programma non funziona. Ricevo "ImportError: No module named tools" - che presumo sia perché il mio modulo era precedentemente nella cartella principale, e ora è in whyteboard.tools, non semplicemente semplici strumenti. Tuttavia, il codice che si sta importando nel modulo strumenti risiede nella stessa directory, quindi dubito che sia necessario specificare un pacchetto.
Quindi, il mio programma di directory simile a questa:
whyteboard-0.39.4
-->whyteboard.py
-->README.txt
-->CHANGELOG.txt
---->whyteboard/
---->whyteboard/__init__.py
---->whyteboard/gui.py
---->whyteboard/tools.py
whyteboard.py lancia un blocco di codice da Whyteboard/gui.py, che spara la GUI. Questo problema di pickling non stava sicuramente accadendo prima che la directory si riorganizzasse.
Forse si può aggiungere il modulo al PYTHONPATH ('sys.path.append (path_to_your_module) ') prima del carico di pickle? –