web-dev-qa-db-fra.com

Module «__main__» introuvable dans «<packageName>» avec python

J'essaie de publier mon premier package Python à l'état sauvage et j'ai réussi à le configurer sur PyPi et j'ai pu faire un pip install. Lorsque j'essaie d'exécuter le package via la ligne de commande ($ python etlTest), Je reçois l'erreur suivante:

/usr/bin/python: can't find '__main__' module in 'etlTest'

Lorsque j'exécute le code directement à partir de mon IDE, cela fonctionne sans problème. J'utilise Python 2.7 et j'ai __init__.py scripts si nécessaire. Que dois-je faire pour que cela fonctionne?

14
OpenDataAlex

J'ai récemment eu le même problème et j'ai finalement trouvé la solution par moi-même. Donc, comme l'erreur l'a dit, j'ai ajouté un fichier __main__.py Au même chemin que mon __init__.py.

À l'intérieur de __main__.py J'ai ajouté le code suivant:

 from mypackage.mymodule import main 
      main() 

main() était la fonction principale de mon code. Et ça marche maintenant.

ici mon annuaire:

package 
|__dirpackage
   |_mypackage.py
   |_ __init__.py
   |_ __main__.py
|_setup.py`
8
Lbrth_BoC