email et py2exe

Le
Fouff
Bonjour.

Un soucis qui me tiens depuis un petit moment maintenant.
J'ai un prog qui utilise le module email (python 2.6).
Celui-ci fait (en version courte) :

import email
from email.generator import Generator

def __formatMail():
msg = email.MIMEMultipart.MIMEMultipart('related')

msg_text = email.MIMEText.MIMEText(text.encode('utf-8'))

gen = Generator(msgText, mangle_from_úlse, maxheaderlen€)

return



Je crée mon exe sans soucis avec py2exe (version 0.6.9).
J'exécute le programme, m'arrange pour tester la partie envoi d'email (justement ;-) )
et là pas bon !
j'ai droit à ce ù**ù*^ù$^* de message :
File "email__init__.pyc", line 79, in __getattr__


Message complet :
Exception in Tkinter callback
Traceback (most recent call last):
File "Tkinter.pyc", line 1410, in __call__
File "cdes.py", line 1739, in clickOnUserButton
File "cdes.py", line 1344, in doRemindUser
File "cdes.py", line 1378, in sendEmailTo
File "cdes.py", line 385, in sendMail
File "cdes.py", line 184, in __formatMail
File "email__init__.pyc", line 79, in __getattr__
ImportError: No module named multipart


Je précise que j'utilise la forme
email.MIMEMultipart.MIMEMultipart()
à la place de
from email.MIMEMultipart import MIMEMultipart
suite à des essais infructueux eux aussi ! (qui me donnaient le même message d'erreur final)

Autant vous dire qu'après plus de 4 heures d'essais et de recherches sur ce message d'erreur,
Il m'énerve au plus haut point !

Quelqu'un aurait-il une idée sur ce qui peux se passer ?
Si tel est le cas, cette personne pourrait-elle m'expliquer ce que je ne fais pas (ou ce que ce
**ù*^de module email fait ou pas).

D'avance merci de votre patience à lire cette demande (un peu défouloir quand même il faut le dire).
Dans l'attente de réponse(s).
Cordialement.
Fouff
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
William Dode
Le #20261431
On 30-09-2009, Fouff wrote:
Bonjour.

Un soucis qui me tiens depuis un petit moment maintenant.
J'ai un prog qui utilise le module email (python 2.6).
Celui-ci fait (en version courte) :



...
Je crée mon exe sans soucis avec py2exe (version 0.6.9).


...
ImportError: No module named multipart



Avec py2exe certains modules ne sont pas pris automatiquement, il faut
les forcer avec "includes", en particulier pour les mails :

"email","email.mime.text","email.iterators","email.generator","email.utils","email.mime.multipart",
"email.mime",

a+

--
William Dodé - http://flibuste.net
Informaticien Indépendant
Sysadmin
Le #20270931
William Dode a écrit :
On 30-09-2009, Fouff wrote:
Bonjour.

Un soucis qui me tiens depuis un petit moment maintenant.
J'ai un prog qui utilise le module email (python 2.6).
Celui-ci fait (en version courte) :



...
Je crée mon exe sans soucis avec py2exe (version 0.6.9).


...
ImportError: No module named multipart



Avec py2exe certains modules ne sont pas pris automatiquement, il faut
les forcer avec "includes", en particulier pour les mails :

"email","email.mime.text","email.iterators","email.generator","email.ut ils","email.mime.multipart",
"email.mime",

a+



J'ai rencontré exactement le même problème, résolu en mettant "ça" dans
le setup.py

import modulefinder
modulefinder.AddPackagePath("mail.mime", "base")
modulefinder.AddPackagePath("mail.mime", "multipart")
modulefinder.AddPackagePath("mail.mime", "nonmultipart")
modulefinder.AddPackagePath("mail.mime", "audio")
modulefinder.AddPackagePath("mail.mime", "image")
modulefinder.AddPackagePath("mail.mime", "message")
modulefinder.AddPackagePath("mail.mime", "application")
Fouff
Le #20301051
Fouff a écrit :
Bonjour.

Un soucis qui me tiens depuis un petit moment maintenant.
J'ai un prog qui utilise le module email (python 2.6).
Celui-ci fait (en version courte) :

import email
from email.generator import Generator
...
def __formatMail(...):
msg = email.MIMEMultipart.MIMEMultipart('related')
...
msg_text = email.MIMEText.MIMEText(text.encode('utf-8'))
...
gen = Generator(msgText, mangle_from_úlse, maxheaderlen€)
...
return ...
...


Je crée mon exe sans soucis avec py2exe (version 0.6.9).
J'exécute le programme, m'arrange pour tester la partie envoi d'email
(justement ;-) )
et là ... pas bon !
j'ai droit à ce ù**ù*^ù$^* de message :
File "email__init__.pyc", line 79, in __getattr__


Message complet :
Exception in Tkinter callback
Traceback (most recent call last):
File "Tkinter.pyc", line 1410, in __call__
File "cdes.py", line 1739, in clickOnUserButton
File "cdes.py", line 1344, in doRemindUser
File "cdes.py", line 1378, in sendEmailTo
File "cdes.py", line 385, in sendMail
File "cdes.py", line 184, in __formatMail
File "email__init__.pyc", line 79, in __getattr__
ImportError: No module named multipart


Je précise que j'utilise la forme
email.MIMEMultipart.MIMEMultipart(...)
à la place de
from email.MIMEMultipart import MIMEMultipart
suite à des essais infructueux eux aussi ! (qui me donnaient le même
message d'erreur final)

Autant vous dire qu'après plus de 4 heures d'essais et de recherches sur
ce message d'erreur,
Il m'énerve au plus haut point !

Quelqu'un aurait-il une idée sur ce qui peux se passer ?
Si tel est le cas, cette personne pourrait-elle m'expliquer ce que je ne
fais pas (ou ce que ce **ù*^de module email fait ou pas).

D'avance merci de votre patience à lire cette demande (un peu défouloir
quand même il faut le dire).
Dans l'attente de réponse(s).
Cordialement.
Fouff



J'ai trouvé autre chose par rapport aux réponse que j'ai eue (je l'ai trouvé avant de lire ces réponse).
J'en profite pour remercier les sympathiques personnes qui m'ont aidé.

voici :
J'ai ajouté "-p email" à la ligne de commande de py2exe
soit la ligne : setup.py py2exe -p email
Et ça roule du feu de Dieu.

Merci encore pour les réponses.
Cordialement
Fouff
Publicité
Poster une réponse
Anonyme