Ich habe kürzlich das Verzeichnis-Layout meines Programms geändert: Vorher hatte ich alle meine Module im Ordner "main". Jetzt habe ich sie in ein Verzeichnis nach dem Programm verschoben und dort ein __init__.py
platziert, um ein Paket zu machen.Python-Beizen nach dem Ändern des Verzeichnisses eines Moduls
Jetzt habe ich eine einzelne .py-Datei in meinem Hauptverzeichnis, die verwendet wird, um mein Programm zu starten, das viel besser ist.
Wie auch immer, der Versuch, gebeizte Dateien aus früheren Versionen meines Programms zu laden, schlägt fehl. Ich bekomme, "ImportError: Kein Modul namens Werkzeuge" - was ich denke, ist, weil mein Modul zuvor im Hauptordner war, und jetzt ist es in whyteboard.tools, nicht einfach Werkzeuge. Der Code, der im Tools-Modul importiert wird, befindet sich jedoch im selben Verzeichnis wie dieser, daher bezweifle ich, dass ein Paket angegeben werden muss.
Also, mein Programmverzeichnis sieht wie folgt aus etwas:
whyteboard-0.39.4
-->whyteboard.py
-->README.txt
-->CHANGELOG.txt
---->whyteboard/
---->whyteboard/__init__.py
---->whyteboard/gui.py
---->whyteboard/tools.py
whyteboard.py einen Codeblock startet vom Whyteboard/gui.py feuert, dass die GUI auf. Dieses Beizproblem trat definitiv nicht auf, bevor das Verzeichnis neu organisiert wurde.
vielleicht Sie Ihr Modul PYTHONPATH hinzufügen ('sys.path.append (path_to_your_module) ') vor dem Pickle-Laden? –