J'ai récemment changé la structure de répertoire de mon programme : avant, j'avais tous mes modules à l'intérieur du dossier "main". Maintenant, je les ai déplacés dans un répertoire nommé d'après le programme, et j'ai placé un __init__.py
là-bas pour en faire un package.
Maintenant, j'ai un seul fichier .py dans mon répertoire principal qui est utilisé pour lancer mon programme, ce qui est beaucoup plus propre.
Quoi qu'il en soit, essayer de charger des fichiers picklés des versions précédentes de mon programme échoue. Je reçois l'erreur "ImportError: No module named tools" - ce qui je suppose est parce que mon module était précédemment dans le dossier main, et maintenant il est dans whyteboard.tools, pas simplement tools. Cependant, le code qui importe dans le module tools vit dans le même répertoire que lui, donc je doute qu'il y ait besoin de spécifier un package.
Donc, la structure de mon répertoire de programme ressemble à ceci :
whyteboard-0.39.4
-->whyteboard.py
-->README.txt
-->CHANGELOG.txt
---->whyteboard/
---->whyteboard/__init__.py
---->whyteboard/gui.py
---->whyteboard/tools.py
whyteboard.py lance un bloc de code depuis whyteboard/gui.py, qui démarre l'interface graphique. Ce problème de pickling ne se produisait certainement pas avant la réorganisation du répertoire.