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

Python Discussion :

faire un import conditionnel


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut faire un import conditionnel
    Bonjour,
    Mon appli fait l'import d'un module. Cet import génère un floating exception lorsque je lance l'appli sur la machine m1 mais fonctionne sur la machine m2 : les 2 machines ont le même environnement : même linux RedHat, même versions python,gtk,pygtk.
    J'ai mis une exception sur l'import mais elle ne capte pas ce floating exception.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    try:
       from matplotlib.backends.backend_gtkagg import *
    except:
       print "ImportError"
    Si l'exception ne marche pas, comment faire pour ne pas exécuter l'import sur m1 et l'exécuter sur m2.
    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    J'essaierai les imports à la console, genre:
    python -c "from matplotlib.backends.backend_gtkagg import *"
    Si cela fonctionne, on peut supposer que ce n'est pas qu'un problème d'import mais un effet de bord entre l'application et son environnement qu'il va falloir débugger - pour définir les pré-requis du déploiement de votre appli.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut
    J'ai fait le test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >awalter 62>: python -c "from matplotlib.backends.backend_gtkagg import FigureCanvasGtk"
    Floating exception
    >awalter 63>:
    donc ce serait un pb d'import ?
    Merci

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par awalter1 Voir le message
    donc ce serait un pb d'import ?
    Ben si çà fonctionne sur l'autre machine, çà élimine votre application...
    Mais il va falloir farfouiller pour comprendre le pourquoi du comment car "elles ont été construites à l'identique".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 147
    Par défaut chercher l'erreur avec méthode
    Bonjour

    je propose de chercher l'erreur avec méthode. Il faut structurer la recherche en partant du général au particulier. Et en écrivant les actions réalisées.
    Environnement est-il vraiment identique? faire une liste écrite des vérifications, taille et dates des fichiers vraiment identiques,etc.....
    ensuite vérifier
    version des outils, python, modules standard des distributions, modules commun développé. etc.......

    l'étape d'après est de chercher des lieux pour mettre des marqueurs qui doivent en principe donner les mêmes informations pour un même contexte.

    La méthode qui consisterait à dupliquer à l'aveugle la totalité es fichiers source d'une machine à une autre (avec un backup ) peut être à la fois radical et dangereux.

    Pour ce genre d'affaire, quand je ne comprends pas, je me donne du temps et construit une méthode, j'écris ce que j'ai fait......je réalise en plusieurs étapes espacées de plusieurs jours.......je muris progressivement, et j'arrive en général à cerner le problème. Une fois cerné c'est presque gagné......il y a le forum
    je conçois que l'attente et la patience pas toujours facile à gérer. Mais je sais que jusqu'à maintenant, j'ai toujours fini par aboutir

  6. #6
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut
    C'est pourquoi je n'ai pas demandé comment résoudre le pb de floating exception mais comment le contourner.
    En réalité c'est sur ma machine de développement que l'erreur se produit et c'est pour une fonctionnalité rarement utilisé. Par contre sur la machine du client c'est OK. C'est pour cela que je préfèrais opter pour une solution de contournement qui me permettrait (sur ma machine de développement) de lancer mon application sans la fonctionnalité qui pose problème d'ou la demande pour faire un import conditionnel.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL2K] Faire un requête conditionnelle pour un CURSOR
    Par zooffy dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/08/2007, 14h00
  2. Faire un import d'un VBS dans un VBS
    Par SoaB dans le forum VBScript
    Réponses: 4
    Dernier message: 03/05/2007, 09h10
  3. [RegEx] Faire un remplacement conditionnel
    Par guidav dans le forum Langage
    Réponses: 1
    Dernier message: 26/01/2007, 19h22
  4. Réponses: 4
    Dernier message: 24/02/2006, 22h54
  5. [Débutant] Comment faire un import de package ?
    Par MASSAKA dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 07/05/2004, 09h45

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