Avant de marquer cela comme une copie s'il vous plaît lire le problème entier, ce n'est pas l'erreur d'importation habituelle sys.path.Erreur d'importation Python inhabituelle
C'est la structure de répertoire du module que je suis en train d'importer
root
|_moduleDir1
| |_ myModule1.py
| |_ __init__.py
|_ moduleDir2
|_ myModule2.py
|_ __init__.py
Je travaille avec 2 machines différentes. Mon script fonctionne bien sur un et j'obtiens l'erreur d'importation de l'autre. Au début, je pensais que c'était juste un problème d'environnement, mais je pense que quelque chose d'autre se passe. Lorsque j'exécute mon script qui importe myModule1.py avec
import moduleDir1.myModule1
sur l'ordinateur défaillant, il génère l'erreur d'importation suivante.
ImportError: No module named myModule1
La raison pour laquelle je ne crois pas que ce soit un problème de PATH ou d'un problème de sys.path est que j'ai ajouté le répertoire racine aux variables d'environnement appropriées et quand j'ajouter
import moduleDir2.myModule2
ci-dessus l'importation de myModule1 dans le script, il ne lance pas une erreur d'importation, donc je sais que root est dans sys.path ou il y aurait une erreur pour les deux. En outre, je ne pense pas que ce soit un problème avec init.py car cela fonctionne très bien sur l'autre machine. Les deux machines exécutent Windows 10.
Je suis perplexe et j'ai cherché et testé pendant des heures sans succès. Tout ce que je peux trouver, ce sont des messages qui sont des problèmes avec init.py ou sys.path et ce ne sont pas les bonnes solutions pour mon problème. Toutes les suggestions ou réflexions sur les raisons pour lesquelles je pourrais obtenir une erreur d'importation pour un module et pas pour l'autre lorsqu'ils sont sous le même répertoire parent seraient appréciées.
Veuillez afficher le code qui tente d'importer 'myModule1' et afficher le message d'erreur complet. – BrenBarn
Essayez simplement 'import moduleDir1' puis' print (moduleDir1 .__ fichier __) '. La sortie est ce que vous attendez? S'il y a un autre répertoire appelé 'moduleDir1' plus tôt sur' sys.path', ou un fichier appelé 'moduleDir1.py', cela sera importé à la place, et si cela n'a pas de sous-module appelé' myModule1' alors vous aurez obtenir cette erreur. – BrenBarn
Vous avez frappé le clou sur la tête! Il y a un autre module nommé la même chose situé ailleurs dans le système et c'est ce qui est importé. Merci beaucoup! Vous m'avez sauvé qui sait combien de temps! – jerrik