[egenix-mx-base] Module DateTime non trouvé
Résolu/Fermémamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 - 25 août 2023 à 13:43
- [egenix-mx-base] Module DateTime non trouvé
- Module ci+ ou carte à puce non trouvée ✓ - Forum TV & Vidéo
- Hkcmd module ✓ - Forum Virus
- Formules excel de base - Guide
- Base de registre - Guide
- Module d'expérience locale francais ✓ - Forum Matériel & Système
13 réponses
18 août 2023 à 14:47
bonjour,
Le souci est spécifique à ce module?
18 août 2023 à 14:56
Apparemment oui.
Je l'ai mis dans la directory où il y a mon programme, ça marche (sauf que j'ai des erreurs de syntaxe dans ce module...).
Je voudrais déjà régler ce pb de path...
18 août 2023 à 16:07
Bonjour,
"No module named 'DateTime'"
si c'est le module que tu veux importer, il faut l'écrire comme ceci:
import datetime
sans majuscules ...
Modifié le 18 août 2023 à 16:12
Ben non justement, c'est un module spécifique d'un package particulier :-)
https://www.egenix.com/products/python/mxBase/mxDateTime/
Il a l'air installé :
pip install egenix-mx-base
Requirement already satisfied: egenix-mx-base in d:\....\python\lib\site-packages (3.2.4)
C'est parce qu'il est appelé dans du code que j'ai récupéré que je dois l'importer.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question22 août 2023 à 13:56
J'ai tourné dans tous les sens, je ne vois pas...
22 août 2023 à 14:10
Salut,
La dernière version de ce module date de 2015 et Python 2.7
https://pypi.org/project/egenix-mx-base/
22 août 2023 à 14:27
Oui, j'ai vu que ce n'est pas tout jeune, mais le problème semble venir d'autre part.
Modifié le 22 août 2023 à 14:40
Même si c'est un problème de path, il y a trop de différence de syntaxe entre les V2 et V3 pour que tu puisses utiliser ce module sans problème.
Récupérer dans le module :
print 'From:', m.getaddr('from') raise TypeError, "can't compare the two types"
22 août 2023 à 17:12
Bonjour,
Autant que possible, tu devrais plutôt utiliser le module standard datetime.
Si tu es contraint d'utiliser le module dont tu parles :
- Suis la procédure d'installation indiquée ici.
- Assure-toi que tu utilises une version de python compatible.
- Par exemple si c'est un module installé pour python2, aucune chance de l'importer avec python3 (l'interpréteur n'ira pas chercher dans ces dossiers).
- Idem si le module est installé pour une version spécifique de python (par exemple si tu l'installes dans le dossier de python3.11, alors tu ne pourras pas l'importer avec python3.8).
- Bref, si tu as plusieurs versions de python installées, sois vigilant !
- Vérifie dans quel dossier il est installé (donne le chemin complet) et quel interpréteur python tu utilises, car cela impacte la valeur de sys.path.
- Tu évoques le dossier d:\....\python\lib\site-packages\. Est ce que ce dossier est bien dans ton sys.path ?
import sys print(sys.path)
- Le nom du module à faire figurer derrière "import" est le nom du dossier dans lequel le module est installé dans d:\....\python\lib\site-packages\. De ce que je vois ici ce serait plutôt :
from mx.DateTime import DateTime
(qui correspond à d:\....\python\lib\site-packages\mx\DateTime\DateTime.py)
- Tu évoques le dossier d:\....\python\lib\site-packages\. Est ce que ce dossier est bien dans ton sys.path ?
Bonne chance
Modifié le 22 août 2023 à 17:25
Salut,
donc oui, c'est un module spécifique et je ne sais pas ce qui est fait quand on appelle ses fonctions.
Pour Python, je n'ai que la version 3.
Sinon, oui sys.path me donne bien le rép.
Et j'ai bien ça :
try: import DateTime except ImportError: from mx import DateTime
Qui est bien une anomalie...
Quand je suffixe avec .DateTime, mon module est appelé mais il plante :
def mktime((year,month,day,hour,minute,second,dow,doy,dst),
SyntaxError: Function parameters cannot be parenthesized
Donc, ça pue, je vais voir si je peux faire autrement... Mais comme je débute en Python, ça va pas être facile...
22 août 2023 à 17:29
Attention, regarde bien l'import (je pense que tu as lu mon message alors que j'étais en train de le corriger) :
from mx.DateTime import DateTime
Je veux bien aussi le chemin complet dans lequel est installé ton module et la valeur de sys.path (quitte à anonymiser ton login s'il apparaît dans des chemins si tu ne veux pas le faire apparaître sur le forum).
Bonne chance
Modifié le 22 août 2023 à 17:59
Attention, regarde bien l'import (je pense que tu as lu mon message alors que j'étais en train de le corriger) :
C'est pour ça que j'ai dit ensuite que c'était bien une anomalie :-))))
Mon sys.path :
D:\Applis-W10\Python\python311.zip
D:\Applis-W10\Python\DLLs
D:\Applis-W10\Python\Lib
D:\Applis-W10\Python
D:\Applis-W10\Python\Lib\site-packages
Et il semble installé :
pip install egenix-mx-base
Requirement already satisfied: egenix-mx-base in d:\applis-w10\python\lib\site-packages (3.2.4)
22 août 2023 à 19:32
Donc, laisse tomber, comme j'avais mis DateTime.py au même niveau que mon pgm, il le trouve tout le temps.
Si je le renomme, que je mette :
from mx import DateTime
ou
from mx.DateTime import DateTime
Ca plante :
ModuleNotFoundError: No module named 'DateTime'
23 août 2023 à 16:50
Bonjour
Par rapport au message #13. Il faut en effet ne pas avoir de dossier/fichier ou DateTime (ou mx) au niveau du fichier où tu fais ton import, sinon il n'ira pas chercher le paquet installé dans D:\Applis-W10\Python\Lib\site-packages (en admettant que ce soit là que ton module est installé).
Ensuite concernant ton message d'erreur, assure toi que :\Applis-W10\Python\Lib\site-packages\mx\DateTime\DateTime.py existe, sans quoi l'import ne peut pas marcher. S'il existe, assure-toi que tu as les droits en lecture sur ce fichier.
Bonne chance
23 août 2023 à 22:16
Le fichier DateTime.py existe bien là où il doit être et j'ai à peu près tous les droits dessus (admin de mon poste).
Je ne vois pas ce qui coince...
Modifié le 24 août 2023 à 10:29
Le fichier DateTime.py existe bien là où il doit être et j'ai à peu près tous les droits dessus (admin de mon poste).
- Faut-il comprendre que son chemin est D:\Applis-W10\Python\Lib\site-packages\mx\DateTime\DateTime.py et que D:\Applis-W10\Python\Lib\site-packages\ est listé dans sys.path ?
- Est-ce que mx soit installé dans plusieurs dossiers listés dans sys.path ?
Au pire tu peux procéder par essai erreur pour essayer de comprendre. Admettons que DateTime.py soit bien dans D:\Applis-W10\Python\Lib\site-packages\mx\DateTime\.
- Si tu crées un fichier D:\Applis-W10\Python\Lib\site-packages\toto.py et que tu lances un interpréteur python, parviens-tu à faire "import toto" ?
- Si tu crées un fichier D:\Applis-W10\Python\Lib\site-packages\mx\toto.py parviens-tu à faire "import mx.toto" ?
- etc.
Bonne chance
24 août 2023 à 21:53
Merci mais j'abandonne, car comme je l'ai dit en plus, même si j'arrive à charger le module, j'ai des erreurs quand j'en appelle une fonction.
25 août 2023 à 13:43
Ok, comme tu veux, dommage qu'on ait pas trouvé :s Bonne continuation