Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1398 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Echec d'importation d'un module Python

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Echec d'importation d'un module Python

n°2462972
relphe
Posté le 29-01-2024 à 12:02:56  profilanswer
 

Bonjour tout le monde,
 
J'apprends Python. Je voudrais importer un module Python rédigé sur Visual Code Studio à partir de mon environnement Cygwin64.
Mon dossier "calculator" se trouve ici : C: /cygwin64/home/my_username/calculator
Mon dossier calculator comprends 3 fichiers :  
operations.py
__init__.py
main.py
 

  • operations.py :
Code :
  1. def sum (left_param, right_param):
  2.     return left_param + right_param
  3. def substraction (left_param, right_param):
  4.     return left_param - right_param
  5. def multiplication (left_param, right_param):
  6.     return left_param * right_param
  7. def division (left_param, right_param):
  8.     try:
  9.         return left_param / right_param
  10.     except ZeroDivisionError:
  11.         print ("Erreur : Division par zéro!" )


 

  • __init__.py : ce fichier ne contient rien.


  • main.py :
Code :
  1. import calculator.operations
  2. if __name__ == '__main__':
  3.     resultat = calculator.operations.sum(10, 30)
  4.     print(resultat)


 
Lorsque je tape la commande "python3 main.py", j'obtiens la réponse suivante :

Code :
  1. $ python3 main.py
  2. Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Manage App Execution Aliases.


 
Mon fichier d'installation de Python se trouve ici : C: /Users/my_username/AppData/Local/Programs/Python/Python312/python.exe
 
Mon problème peut-il être réglé par une variable d'environnement qui permettrait à Cygwin de trouver Python? J'ai essayé plein de choses et je suis toujours dans le brouillard... J'espère que vous pourrez m'aider à importer mon module. Merci par avance.


Message édité par relphe le 29-01-2024 à 12:12:16

---------------
â
mood
Publicité
Posté le 29-01-2024 à 12:02:56  profilanswer
 

n°2462985
xilebo
noone
Posté le 29-01-2024 à 14:12:53  profilanswer
 

Alors tu appelles python3 mais ton executable s'appelle python.
 
Essaie plutôt python main.py.
 
Tu n'es pas obligé de passer par cygwin, mais directement ouvrir une console cmd et taper python main.py dans le répertoire cible. Par contre il faut que ton exécutable python soit dans le PATH windows.
 
Par ailleurs ton import calculator.operations ne fonctionnera pas, c'est directement import operations, et faire resultat = operations.sum(10,30)
 
Résultat avant et après modif :  
 
https://i.imgur.com/7M4OTF9.png
 
 
edit -> Explication :  
 
python main.py dans ton répertoire "C:/cygwin64/home/my_username/calculator" signifie que ton chemin d'exécution est le répertoire courant où tu te trouves est "C:/cygwin64/home/my_username/calculator". Dans lequel se trouve main.py et operations.py
 
lorsque tu fais des import avec python, tu importes soit à partir du répertoire courant, soit à partir du chemin des libs de python. Dans ton cas c'est donc : "C:\Users\my_username\AppData\Local\Programs\Python\Python312\Lib\site-packages".
 
import a.b.c signifie que tu vas importer le module c.py qui se trouve dans le sous répertoire a/b/ , soit dans ton répertoire courant , soit dans le répertoire des libs.
 
Donc import calculator.operations signifierait que operations.py se trouve dans le sous répertoire calculator de ton répertoire courant, soit : "C:/cygwin64/home/my_username/calculator/calculator/" , ce qui n'est pas le cas ici.
 
Idem si tu importes un module installé dans site-packages ( rep / sous rep / ... / modulexxx.py ).
 
 
Et si tu utilises virtualenv ( pour isoler ton environnement) c'est pareil sauf que les libs sont dans ton environnement isolé.
 


Message édité par xilebo le 29-01-2024 à 14:21:00
n°2462995
relphe
Posté le 29-01-2024 à 15:39:41  profilanswer
 

Merci xilebo pour tes explications! Je comprends tout  :bounce:  
... et j'ai finalement saisi le bon PATH.


Message édité par relphe le 29-01-2024 à 16:25:58

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Echec d'importation d'un module Python

 

Sujets relatifs
Simulation physique python[Python] Façon officielle de documenter les Class Attributes ?
argsort axis=1 pythonAlerte mise à jour Python
fermer une fenetre en PYTHON ?[python]faire une dll ou équivalent pour accès par labview
When deployed to Heroku, python setup.py egg info did not run successfScript bash/python extraire données bdd
Decorators in PythonModule standard, module de classe et Userform
Plus de sujets relatifs à : Echec d'importation d'un module Python


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR