import module for python script in ZMI

Document Actions
Réponses: 6   Visites: 0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum. Inscrivez-vous maintenant

import module for python script in ZMI

Posté par lightspeed le 14/10/2009 11:25
Dans ZMI, je veux importer le module Test_client pour interoger un web service distant qui existe dans
{home_instance}/Python-2.4/bin/ZSI-2.1-a1/script/Test_client.py pour l'utiliser dans "script python".

Test_client.py est généré par wsdl2py et dans ce module il fait d'autre import, Je veux garantir import de ce module dans mon script python.
J'ai essayé par allow_module et ça pas marché.

SVP donnez moi la bonne idée pour résoudre le problème.
Merci d'avance pour vos réponse.
  • Re: import module for python script in ZMI

    Posté par encolpe le 14/10/2009 13:22
    J'ai du mal à tout suivre donc je vais procéder par supposition.
    'Python-2.4/bin' n'existe pas par défaut dans une instance Zope donc il n'a aucune raison de le connaitre.
    Je suppose que wsdl2py est installé avec la même installation de python que Zope ce qui permet de croire que les imports fait dans le fichier Test_client.py sont valides depuis Zope.
    Dans ce cas il faut copier ou déplacer Test_client.py dans le dossier Extensions de votre instance Zope et créer une 'External Method' dans la ZMI qui utilisera Test_client.
    _________________________
    Encolpe DEGOUTE http://encolpe.degoute.free.fr/ Logiciels libres, hockey sur glace et autres activités cérébrales
  • Re: import module for python script in ZMI

    Posté par lightspeed le 14/10/2009 15:21
    merci pour votre réponse.

    Je vais expliquer mon besoin:

    J'ai créé un module "projet.py" qui contient "from Test_client import *"

    Quand je crée une 'External Method' qui utilise "projet"
    Il me renvoit une erreur:
    ImportError: No module named Test_client

    NB: Mon besoin principal est d'interroger un web service. Alors j'ai procédé à générer 3 fichiers(parmi eux "Test_client") par l'intermédiaire de wsdl2py et j'ai créé 'projet.py' qui import 'Test_client' pour satisfaire mon besoin.
    • Re: import module for python script in ZMI

      Posté par lightspeed le 14/10/2009 15:32
      'Test_client.py' lui meme contient 'from test_type import * '
      En général je ne parviens pas à lancer mon code python qui interagit avec le web service à partir de ZMI(script python ou External Method) à cause du problème de l' "import".
      • Re: import module for python script in ZMI

        Posté par encolpe le 14/10/2009 18:59
        C'est normal puisque python ne connait pas votre code.

        Il faudrait le distribuer dans le site-packages de la version de python utilisé par Zope. Apparemment wsdl2py ne génère pas de egg ou de module près à être distribué ais plutôt un application qui sait uniquement travailler seule dans son coin.

        La seule solution que je vois pour ne pas perdre trop de temps est de créer un egg avec Zopeskel et de copier le code généré dans ce egg pour pouvoir de réutiliser depuis Zope.
        _________________________
        Encolpe DEGOUTE http://encolpe.degoute.free.fr/ Logiciels libres, hockey sur glace et autres activités cérébrales
  • Re: import module for python script in ZMI

    Posté par lightspeed le 14/10/2009 20:31
    Effectivement, mais j'ai pas compris comment créer un egg. Et quoi contient ce egg???

    Merci pour vos réponse :)
  • Re: import module for python script in ZMI

    Posté par lightspeed le 19/10/2009 13:41
    salut Encolpe

    J'ai créé un egg avec Zopeskel
    ~/src $ paster create -t plone myorg.mypackage

    Comme j'ai dis j'ai besoin d'importer les 3 fichiers python générés par wsdl2py, où je dois mettre ces 3 fichiers?

    J'essaye de les mettre sous ~/src/myorg.mypackage/myorg/mypackage/
    mais est ce que je dois declarer quelque chose dans __init__.py?

    Et ce que en mettant ces 3 fichiers dans ce package me permet de les importer dans le 'script Python'?

    Merci.

Python.org : Le site officiel du langage Python.
Zope.org : Le site web officiel de Zope.
Daily Python-URL : Actus de l'univers Python.
Tribute to Zyons : Zyons notre ami et membre fondateur de l'Afpy, nous quittait en 2005.