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 :

[Aide] Faire apparaître une image avec PIL


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 1
    Points
    1
    Par défaut [Aide] Faire apparaître une image avec PIL
    Bonjour, j'aimerais beaucoup ajouter une belle image en fond de mon programme
    afin de remplacer le gris moche par défaut

    Je me suis renseigné, il faut utiliser PIL, j'installe la version non-officielle pour python 2.7, la ça se complique, je ne sais absolument pas ou mettre l'image en .jpg donc je la place dans le même dossier que mon programme

    J'insère ceci

    from PIL import Image, ImageTk
    import tkinter as Tk
    root = Tk.Tk()

    image = Image.open("ceasear.jpg")
    photo = ImageTk.PhotoImage(image)

    canvas = Tk.Canvas()
    canvas.create_image(200,500, image=photo)
    canvas.pack()
    root.mainloop()



    En fin de programme (ceci est totalement la fin du programme)

    Puis au moment de le lancer avec IDLE j'ai bien le programme mais pas l'image désirée avec un joli message d'erreur :

    >>>
    Traceback (most recent call last):
    File "C:\Users\MadTytin\Desktop\César\Cryptage de cesar 2.0 - Copie.py", line 157, in <module>
    from PIL import Image, ImageTk
    ImportError: No module named 'PIL'
    >>>


    Comment faire ? Merci

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    La réponse est dans la question :
    Citation Envoyé par Tytin Voir le message
    ImportError: No module named 'PIL'
    Vous devez installer PIL.
    Suivant votre système si vous êtes sous Windows vous trouverez dans le lien les téléchargements (pensez que vous avez Python 2.7) sinon dites nous en plus.

    Pour ce qui est du répertoire, oui, c'est celui où est le script.

    @+

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    J'avais pris celui ci "Python Imaging Library 1.1.7 for Python 2.7"
    sans résultat, ou c'est moi qui me trompe

  4. #4
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Et lors de l'installation de PIL le répertoire donné correspond bien à celui oui Python est installé ?

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Oui, dans C:\Python27\Lib\site-packages\

  6. #6
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 484
    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 484
    Points : 9 286
    Points
    9 286
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Comme je suis aussi sous Windows et Python 2.7 et que j'ai un "PIL" qui marche, j'ai essayé ton code: il fonctionne, à part le "import tkinter as Tk": sous Python 2.x, c'est Tkinter avec une majuscule (avec une minuscule, c'est pour la version 3.x).

    Pour PIL, je me suis servi ici: http://www.pythonware.com/products/pil/. Je le précise, parce que tu parles de "version non-officielle pour python 2.7". Comme c'est un .exe, ça s'installe tout seul.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Je me suis également servi ici, comme je l'ai dit j'ai pris
    "Python Imaging Library 1.1.7 for Python 2.7"

    J'ai modifié mon t en T pour import Tkinter

    Et j'ai le même message d'erreur

    from PIL import Image, ImageTk
    ImportError: No module named 'PIL'

  8. #8
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 484
    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 484
    Points : 9 286
    Points
    9 286
    Billets dans le blog
    6
    Par défaut
    Une idée: désinstalle ton PIL et réinstalle-le en tant qu'administrateur (sous Win 7: clic droit => "Exécuter en tant qu'administrateur").

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    je tente, je viens de remarquer que j'ai trois versions différentes de python d'intallées

  10. #10
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 484
    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 484
    Points : 9 286
    Points
    9 286
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par Tytin Voir le message
    je tente, je viens de remarquer que j'ai trois versions différentes de python d'intallées
    C'est certainement la raison de tes difficultés: fais le ménage (désinstalle proprement)! Et vérifie après, que les adresses figurant dans la variable d'environnement "PATH" pointent bien vers ton Python.

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Je m'y met, je vous répondrais ce soir par contre

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Un nouveau problème est apparu ! Je suis obligé de conserver Python 2.x pour utiliser PIL, maintenant je double clique sur l'icone de mon programme, rien ne se passe, et clique droit, le Edit withe IDLE a disparu

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    De plus, la fonction "Edit with IDLE" a disparu

  14. #14
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 484
    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 484
    Points : 9 286
    Points
    9 286
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Je ne peux pas t'aider si tu n'en dis pas plus.

    Quels sont les 3 Pythons que tu avais en même temps (numéros de version?)?

    Les as-tu désinstallé tous? Et proprement (utilisation de la désinstallation et non de l'effacement des répertoires)?

    As-tu vérifié que les adresses figurant dans le PATH de Windows pointait bien vers le Python qui reste?

    Quand tu dis "Je suis obligé de conserver Python 2.x pour utiliser PIL", cela suppose que tu travailles en fait avec Python 3.x, et il est fort probable qu'il y a mélange entre les 2 versions. Mais cette obligation est fausse: si PIL n'existe pas sous Python 3.x, il y a un "fork" compatible qui s'appelle "Pillow" et qui, lui, existe sous Python 3.x: https://pypi.python.org/pypi/Pillow/2.0.0. Et il y a même une version exe sur le site non-officiel: http://www.lfd.uci.edu/~gohlke/pythonlibs/.

    Mon conseil: désintalle proprement les 3 Pythons, réinstalle seulement ta version de travail, vérifie et corrige si nécessaire les adresses du PATH de Windows, et installe les modules qu'il te faut.

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    Oui j'aurais pu être plus précis désolé.
    J'avais 2.7 et 3.3.0 et encore 3.3.0 ou 3.3.1 je ne sais plus.

    J'ai tout desinstallé, réinstallé python en 2.7 et cette fois l'installeur de PIL me dit que je ne possède pas python en 2.7

    comment vérifier le PATH ? et est ce normal que mon Edit with idle ai disparu ?

  16. #16
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 484
    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 484
    Points : 9 286
    Points
    9 286
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Si ton Python 2.7 fonctionne, tu peux lui demander les chemins qu'il utilise pour trouver les modules:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import sys
     
    for chemin in sys.path:
        print chemin
    print
    Et pour afficher les chemins du path de Windows:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    import os
     
    env = os.environ.copy()
    for chemin in env['PATH'].split(';'):
        print chemin
    print
    Tu peux vérifier que les chemins vers les versions désinstallées de Python ont disparu, ou sinon, tu peux les supprimer.

    Pour modifier ou effacer certains chemins du path de Windows (attention à ne pas faire de bétise!):

    Panneau de configuration => Système => Paramètres système avancés => Variables d'environnement => Variables système => sélectionner la ligne 'Path=...' et: bouton 'Modifier'.

    Je te suggère aussi: s'il existe encore les répertoires des Pythons que tu as désintallés, tu les effaces ou, au minimum, tu les renommes.

    Tu rebootes, et tu essaies.

    Attention: ça, ce n'est plus du Python, c'est de l'administration de ton Windows.

  17. #17
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonsoir, j'ai effectué tout cela, et bien même problème, pas de module nommé PIL, j'ai même tout refait sur un ordinateur qui n'avais jamais vu python et bien même résultat

  18. #18
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 484
    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 484
    Points : 9 286
    Points
    9 286
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Désolé, j'ai épuisé toutes mes idées sur le sujet. Je ne comprends pas pourquoi une installation aussi simple ne marche pas chez toi.

    Peut-être y a-t-il un problème avec le fichier de registre, causé par l'installation de plusieurs Pythons? Auquel cas il est possible de "faire le ménage" grâce à un logiciel (gratuit) comme Advanced SystemCare (http://www.iobit.com/advancedsystemcareper.html).

    Quelqu'un d'autre peut-il intervenir?

  19. #19
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Regardons cela pas à pas pour voir ou vous en êtes :

    Pouvez vous nous dire quels sont les répertoires nommés Python<numérodeversion> à la racine de c: (C:\Python27 etc...) ?
    Donnez nous cette information.

    SI vous avez C:\Python27 nous allons lancer Python en ligne de commande:
    Sous Windows XP c'est Facile, démarrer > exécuter et dans la zone après ouvrir : vous tapez c:\python27\python.exe puis ok.
    Sous Vista/7 pour avoir exécuter vous devez utiliser la touche Windows et R en même temps*. Tapez la même ligne de commande.
    Dites nous si vous arrivez à l'invite de commande Python, soit >>>

    SI vous avez l'invite >>> tapez import Tkinter puis entrer. Si Tkinter est installé cela repasse à >>> sinon vous avez l'erreur d'importation ImportError: No module named 'Tkinter'.
    Refaite l'opération avec from PIL import Image.
    Donnez nous les résultats.

    Ouvrez l'éditeur de registre avec la commande exécuter (voir plus haut) : Ouvrez exécuter puis tapez regedit et ok.
    Allez dans Edition > Rechercher ...
    Après Rechercher : tapez C:\Python27\Lib\site-packages\, cochez Mot entier seulement puis validez avec ok.
    Trouvez vous quelque chose ?
    Vous devriez avoir cette chaîne dans Le \Software\Microsoft\Windows\CurrentVersion\Installers\Folders de Local Machine.

    Dans l'attente de vous lire pour continuer.

    * Tips : Pour faire apparaître exécuter clic droit sur la barre de tache > Propriétés > Onglet Menu Démarrer > Personnaliser > cocher Exécuter et valider.

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    Donc j'ai réalisé les manips, pour Tkinter j'obtiens bien >>> et pour PIL également.


    Par contre je ne pense pas avoir la chaine (ou alors je ne l'ai pas vue ) et elle est au mauvais endroit (dans le dossier Wow6432Node ) et rien après, mon "arbre" s'arrête la.

Discussions similaires

  1. Afficher une image avec PIL
    Par laurent25 dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 17/10/2008, 13h42
  2. Réponses: 1
    Dernier message: 31/07/2008, 15h30
  3. Réponses: 9
    Dernier message: 03/08/2007, 14h54
  4. Afficher une image avec PIL
    Par O_connor dans le forum Tkinter
    Réponses: 3
    Dernier message: 12/04/2007, 15h39
  5. faire dérouler une image avec l'api win32
    Par gdkenny dans le forum Windows
    Réponses: 6
    Dernier message: 26/11/2005, 22h46

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