IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques tierces Python Discussion :

Impression papier marche pas avec Windows7


Sujet :

Bibliothèques tierces Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Impression papier marche pas avec Windows7
    Bonjour à tous,
    Mon application Python24 ou Python25 fonctionne sans problème sous Windows XP et Vista.
    Avec py24 pas besoin de l' extension pywin32 (avec python24 issu de l' édition enton-python24-1.0.0 désormais introuvable librement, puisque maintenant commercialisée)
    Avec py25 et l' installation du pywin32 ad_hoc, ça marche également (sauf que la taille des caractères imprimée est plus petite)
    Je précise que mon application compilée (py2exe) fonctionne dans les mêmes conditions.

    Mon problème se situe donc réllement avec Windows7.
    Comme le python24 (enthon-python) est déjà installé sur ma machine (Windows7), pas de problème même avec la version compilée (py2exe)
    Par contre la distribution (avec instalcreator) compilée qui s' installe sur l' ordi client ne permet pas l' ouverture de l' application ! SAUF SI LE Python24 (enthon-python)
    est déjà installé sur l' ordi récepteur.

    Voici le message d' erreur lorsque le "bon" python n' est pas installé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Traceback (most recent call last):
      File "TRAVAUXimprime.pyw", line 79, in ?
      File "imprimer_papier.pyc", line 18, in ?
      File "win32ui.pyc", line 9, in ?
      File "win32ui.pyc", line 7, in __load
    ImportError: DLL load failed: Le module spécifié est introuvable.
    VOICI un lien pour IMPRIMER AVEC PYTHON (je pense qu' il aidera car les informations concernant la programmation python pour l' impression papier ne sont vraiment pas courantes ! et
    encore moins complètes ...)

    http://comments.gmane.org/gmane.org....rgentina/32062

    Ceux qui tenteront l' installation du prog de ce lien, constateront que ce programme fonctionne, mais qu' avec Windows7 l' orientation papier "paysage" ne fonctionne pas (c' est
    toujours la présentation "portrait" qui est active. Comme dit plus haut, si python24 (enthon-python) est déjà sur votre machine, alors NO problème.

    Pour me résumer avec Windows7:
    1) _ message d' erreur, pour l' application exe, si le python24 (enthon-python) n' est pas déjà installé.
    2) _ si le python24 (enthon-python) est déjà installé, ça marche !

    Pouvez-vous m' aider ?
    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Il n'est pas rare qu'une montée de version nécessite de revoir du code et relivrer. Par contre, vous avez:

    Par contre la distribution (avec instalcreator) compilée qui s' installe sur l' ordi client ne permet pas l' ouverture de l' application ! SAUF SI LE Python24 (enthon-python)
    est déjà installé sur l' ordi récepteur.

    Voici le message d' erreur lorsque le "bon" python n' est pas installé:

    Traceback (most recent call last):
    File "TRAVAUXimprime.pyw", line 79, in ?
    File "imprimer_papier.pyc", line 18, in ?
    File "win32ui.pyc", line 9, in ?
    File "win32ui.pyc", line 7, in __load
    ImportError: DLL load failed: Le module spécifié est introuvable.
    qui laisse supposer que "instalcreator" doit correspondre à la version de Python cible.

    VOICI un lien pour IMPRIMER AVEC PYTHON (je pense qu' il aidera car les informations concernant la programmation python pour l' impression papier ne sont vraiment pas courantes ! et
    encore moins complètes ...)
    Quel est le rapport avec le problème précédent?
    Note: Imprimer avec des documents avec Python sous Windows se réduit à donner à l'API Windows (via pywin32) les instructions qui vont bien et vous devriez avoir le cas échéant des exemples VB ou C++, C# chez microsoft.

    Pour me résumer avec Windows7:
    1) _ message d' erreur, pour l' application exe, si le python24 (enthon-python) n' est pas déjà installé.
    2) _ si le python24 (enthon-python) est déjà installé, ça marche !
    Si l'application 'fonctionne' sous Python2.5/Windows7 sans l'installer via py2exe, votre problème est plutôt dans la construction de l'exécutable.
    Maintenant, il faudrait que vous confirmiez cela, i.e. que vous précisiez ce qui est ou pas 'le problème'.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Impression papier marche pas avec Windows7
    Merci beaucoup pour votre aimable réponse.
    Cependant, je ne comprends pas pourquoi instalcreator devrait correspondre à une version de python spécifique. Ce logiciel est un installateur de programme exe OU de n'importe quel autre type de fichier ou dossier et n'est absolument pas lié à la nature du contenu qu'il doit installer.
    Pour ce qui concerne le lien que j'indique, c'est en fait un petit coup de gueule qui s'adresse à ceux qui se contentent uniquement à renvoyer à des "vous devriez" ou "il doit y avoir" sans jamais donner un exemple CONCRET et COMPLET en réponse à la question posée.
    Pour l'impression on passe bien sur par l'API Windows (via pywin32) et ce dont j'ai besoim c'est d'une aide en langage Python et non en langage VB C++ ou C car là, il faut transposer et pour moi ce n'est pas évident.

    pywin32 est déjà présent dans l'enthon-python (24) ou alors il faut installer manuellement pour les python > 24.
    Pour ce qui est ou pas le problème, je pensais l'avoir bien exposé...

    cordialement
    VP

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Pour ce qui est ou pas le problème, je pensais l'avoir bien exposé...
    Super!
    J'espère que le problème sera plus limpide à d'autres que moi.
    Bon courage.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Avec py2exe, le message d'erreur "DLL load failed" peut avoir plusieurs causes dont celle-ci: http://www.py2exe.org/index.cgi/Py2exeAndWin32ui.

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Impression papier marche pas avec Windows7
    Bonjour,
    Un grand merci à tyrtamos qui m' a donner une piste sérieuse et concrète. J' ai donc réussi, grâce à son aide, à imprimer sous Windows7.
    Traduit de son exemple voici le code que j' ai ajouté dans mon setup.py

    data_files = [("Microsoft.VC90.MFC", ["mfc90.dll","mfc90u.dll","mfcm90.dll","mfcm90u.dll","Microsoft.VC90.MFC.manifest"]), ]

    J' en profite pour souligner les multiples exemples TRES INTERESSANTS qui fonctionnent sur son site. Je vais d' ailleurs "pomper" son exemple sur l' élimination des caractères accentués que je trouve plus efficace que celui que j' ai bricolé.
    A+

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour visual petanque, et merci pour ton message: ça fait plaisir.

    Pour être complet sur la conversion des caractères accentués, il existe une solution avec le module unicodedata.

    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    def sansaccent(ch): 
        return unicodedata.normalize('NFKD', ch).encode("ascii", "ignore" ).decode("ascii")
     
    print sansaccent(u"abcéèçàùôîêÀÂÇÉÈÊËÎÏÔÙÛÜŸ")
    abceecauoieAACEEEEIIOUUUY
    Dans ce code, on rentre de l'unicode, et on ressort de l'unicode.

    Ce code est probablement plus général (conversion de caractères accentués d'autres pays), mais je comprends mieux le code que je fais moi-même...

    Tyrtamos

    Edit: l'un des problèmes posés par la solution unicodedata, c'est que les caractères qui n'ont pas de conversion dans l'ascii sont simplement supprimés sans alerte, ce qui peut poser problème pour, par exemple, æ, Æ, œ, Œ et €.

    Voilà comment on peut compenser cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    def sansaccent(ch):
        alpha1 = u"æÆœŒ€"
        alpha2 = [u'ae', u'AE', u'oe', u'OE', u'Euro(s)']
        for i, car in enumerate(alpha1):
            ch = ch.replace(car, alpha2[i]) 
        return unicodedata.normalize('NFKD', ch).encode("ascii", "ignore" ).decode("ascii")
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

Discussions similaires

  1. [PHP-JS] Marche pas avec le Javascript?
    Par MinsK dans le forum Langage
    Réponses: 3
    Dernier message: 04/05/2006, 14h24
  2. [VB6] TypeOf ne marche pas avec les Label ?
    Par belfaigore dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 21/04/2006, 13h36
  3. [CSS] Bug IE avec height ne marche pas avec les %
    Par El Riiico dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 23/06/2005, 17h11
  4. [xhtml][css] bouton du form ne marche pas avec IE6
    Par chinouk dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 14/06/2005, 14h00
  5. Rollback ne marche pas avec interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/03/2004, 08h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo