Mon plugin Python QGIS fonctionne sur Ubuntu (au moins pour moi, et tous les bogues fatals signalés jusqu'à présent sont résolus), mais lorsque je l'exécute sur QGIS installé à partir du programme d'installation officiel 2.10.1 64 bits pour Windows (sur Windows 7 64- peu), je ne peux pas l'installer en raison de l'erreur suivante:
This plugin is broken
No module named qgsprojectionselectionwidget
Un autre utilisateur a également signalé ce problème. mais avec un autre message d'erreur (je ne sais pas quel système d'exploitation et quelle architecture a-t-il, mais je suppose que Windows et EDIT 64 bits: je me suis trompé, il a Mac OS X):
This plugin is broken
No module named qgsmaplayercombobox
Les deux se réfèrent aux widgets dans le formulaire GUI, que j'ai construit via Qt Designer dans Ubuntu. Qt Designer est également livré avec le programme d'installation QGIS pour Windows et prétend contenir les mêmes widgets personnalisés QGIS, donc le problème ne devrait pas être dans ces widgets manquants, et QGIS devrait les reconnaître - mais ce n'est pas le cas.
Alors comment y remédier? Mon plugin est encore expérimental, je peux donc simplement ajouter "désolé, ne fonctionne pas sous Windows" aux métadonnées, mais ce n'est pas une vraie solution.
EDIT: le même comportement confirmé sur la version 32 bits aussi.
Maintenant, j'ai trouvé un bon indice en commentaire de cette réponse : utilisez os.path.join
pour faire les chemins multi-plateforme. C'est facile pour les quelques chemins codés en dur que j'ai, mais les erreurs semblent suggérer que le problème est plus profond, peut-être même dans Qt. Comment puis-je gérer ce problème dans mon plugin sans modifier quoi que ce soit d'autre?
la source