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

Réseau/Web Python Discussion :

Karrigell et les import


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 3
    Par défaut Karrigell et les import
    bonjour,j'ai installé le framework Karrigell, cité dans le tutorial Apprendre a programmer en Python,
    mais les codes que je peux les executer en ligne de commande,m'affiche des erreurs

    voila ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    import mapnik
     
    m = mapnik.Map(600,300,"+proj=latlong +datum=WGS84")
    m.background = mapnik.Color('steelblue')
    s = mapnik.Style()
    r=mapnik.Rule()
    r.symbols.append(mapnik.PolygonSymbolizer(mapnik.Color('#f2eff9')))
    r.symbols.append(mapnik.LineSymbolizer(mapnik.Color('rgb(50%,50%,50%)'),0.1))
    s.rules.append(r)
    m.append_style('My Style',s)
    lyr = mapnik.Layer('world',"+proj=latlong +datum=WGS84")
    lyr.datasource = mapnik.Shapefile(file='C:\TM_WORLD_BORDERS-0.2\TM_WORLD_BORDERS-0.2.shp')
    lyr.styles.append('My Style')
    m.layers.append(lyr)
    m.zoom_to_box(lyr.envelope())
    mapnik.render_to_file(m,'world.png', 'png')
    print "done..."
    il m'affiche cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Error in /py/1.py
    Line 2    
    import mapnik
    ImportError: No module named mapnik
     
    Traceback (most recent call last):
      File "C:\Program Files\Karrigell-3.0.2\karrigell\core\HTTP.py", line 335, in process_request
      File "C:\Program Files\Karrigell-3.0.2\karrigell\core\k_target.py", line 387, in run
      File "", line 2, in 
    ImportError: No module named mapnik
    merci d'avance

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 076
    Par défaut
    Si on considère que tu as bien mapnik , je supposerais un probleme de path.

    As-tu suivi l'installation de mapnik correctement? Des messages d'erreur sont expliqués, à voir.

    Si tu es sous windows va voir ici, il t'explique les messages d'erreur possibles dont la tienne.

    Bon courage!

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Par défaut Imports dans Karrigell
    Bonjour,

    Les imports posent toujours des problèmes dans des environnements partagés comme les serveurs web, chaque utilisateur pouvant modifier sys.path

    Depuis la version 3.0, Karrigell résoud ce problème en distinguant deux cas :

    - les modules de la distribution standard, ou ceux qui sont dans le répertoire karrigell/package : on peut les importer par le classique "import foo"

    - les modules définis par l'utilisateur : il faut utiliser la fonction Import en passant en argument l'url du module :

    foo = Import('chemin/du/module/foo.py')

    C'est expliqué en détail dans la doc

    Pierre

  4. #4
    Membre averti
    Profil pro
    Client Solution Developer
    Inscrit en
    Janvier 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Client Solution Developer

    Informations forums :
    Inscription : Janvier 2011
    Messages : 23
    Par défaut
    Bonjour,

    Je n'ai pas de problème pour importer un module de la distribution standard ("random" s'importe par exemple très bien) sauf concernant Tkinter... Une partie du message d'erreur est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImportError: No module named Tkinter
    Quelqu'un aurait-il la solution?

    Merci d'avance.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Par défaut
    Cf la discussion dans le forum Tkinter : le problème vient du fait que tu utilises l'application Karrigell.exe, créée avec py2exe. Dans cette application les scripts sont exécutés par un interpréteur qui n'intègre que les modules utilisés dans le package Karrigell, ce qui inclut random mais pas Tkinter

    Pour pouvoir utiliser tous les modules de la distribution standard il faut installer Karrigell à partir de l'archive tar.gz

    - Pierre

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Citation Envoyé par kervarker Voir le message
    Pour pouvoir utiliser tous les modules de la distribution standard il faut installer Karrigell à partir de l'archive tar.gz
    Croyez vous que cela rendra tkinter utilisable si lancé depuis un script CGI géré par Karrigell? Ou est ce qu'on aura une erreur juste plus difficile à interpréter?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Par défaut
    Oui, ça marche : mettez ceci dans test_tk.py dans le répertoire www de Karrigell :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    from Tkinter import *
    root = Tk()
    Label(root,text="essai").pack()
    root.mainloop()
    et appelez localhost/test_tk.py : ça ouvre bien la fenêtre Tkinter

    - Pierre

Discussions similaires

  1. Question de debutant sur les Imports
    Par gibea00 dans le forum Framework .NET
    Réponses: 1
    Dernier message: 04/12/2006, 15h33
  2. Lister les imports d'un .class
    Par otsgd dans le forum Langage
    Réponses: 3
    Dernier message: 23/10/2006, 16h01
  3. Question sur les import
    Par zoullou dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2006, 21h37
  4. Prendre que les 5 premiers enregistrements (les + important)
    Par __fabrice dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/11/2005, 09h24
  5. [Plugin] Factoriser les import (gestion des import)
    Par Oliveuh dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 08/07/2004, 12h21

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