2010-10-15 6 views
3

J'utilise Eclipse avec PyDev (sur Windows, attention) pour mon projet Python Tkinter depuis environ un mois maintenant, et jusqu'à récemment, je n'avais aucune plainte. Je commence la source pour un module (mon GUI) comme ceci:Eclipse PyDev montre maintenant toutes les références à Tkinter comme des erreurs

from Tkinter import * 

Maintenant, depuis que je mis à jour Eclipse 3.6.1, il montre une erreur pour chaque appel au module Tkinter (Frame(), Label(), Tk() , etc.). Je pensais que quelque chose pouvait mal tourner pendant la mise à jour, j'ai donc désinstallé Eclipse, l'ai re-téléchargé (Eclipse 3.6.1 Classic) et je l'ai réinstallé. Puis, voyant que cela m'a donné un tas d'erreurs avec l'installation de PyDev, j'ai enlevé cela, j'ai installé Eclipse 3.6.0 Classic, et j'ai eu le même problème que j'essayais de résoudre plus tôt.

Je ne comprends pas ce qui ne va pas ici. Ça n'a aucun sens pour moi que tout d'un coup Eclipse arrête de reconnaître que j'ai importé Tkinter.

Quelqu'un peut-il offrir des suggestions/suggestions? Je veux vraiment rester avec Eclipse, j'en suis très content, mais je ne peux pas m'en occuper en me donnant environ 200 fausses erreurs.

+0

Habituellement, il est utile si, lorsque vous incluez la phrase "il montre une erreur" dans une phrase, vous le suivez avec le message d'erreur réel. –

+0

C'est une erreur "indéfinie". Désolé, pensé qu'il était évident à partir du reste de ma question :( –

Répondre

5

Vous ne devriez vraiment pas utiliser des importations sauvages. Considérez from Tkinter import Frame, Label ou import Tkinter as tk à la place.

Maintenant à votre problème: J'ai aussi Helios Eclipse (3.6.0.v20100602). Le problème que vous décrivez a clairement à voir avec PyDev, pas avec le projet de base Eclipse. J'ai juste essayé la même importation et n'ai pas reçu de message d'erreur. Ma version PyDev récupère également correctement la docstring de Frame, par exemple.

Je pense qu'il suffit d'installer une nouvelle version de PyDev (c'est la solution pour de nombreux bugs ^^) - ajouter "http://pydev.org/nightly" comme site de mise à jour, puis mettre à jour vers la dernière version version. J'ai la version 1.6.3.20100922, en passant. Si cela ne vous aide pas, vous devriez envisager de le signaler comme un bug.

+0

Sur le sujet d'importation sauvage --- J'utilise pratiquement toutes les classes dans Tkinter.Il est logique d'avoir une importation sauvage.Et à la mise à jour --- j'avais PyDev En utilisant la fonction de mise à jour des sites, j'essaierai d'utiliser des builds nocturnes –

+2

@Rafe Kettler: Je ne suis pas d'accord que ça a du sens, je pense que si vous faites "importer Tkinter comme tk ... tk.Frame (...) "Cela rend votre code plus auto-documenté, il ne laisse aucune question quant à quand vous appelez une fonction Tk et quand vous ne l'êtes pas. –

0

Je trouve que la réponse à ces problèmes est généralement que vous devez mettre à jour votre chemin python depuis eclipse. Voir mon answer à une question similaire. Je pense que la réinstallation de pydev et/ou d'eclipse résout habituellement ce problème car, ce faisant, le chemin python est reconfiguré.

0

Quelle version de Python utilisez-vous? Si> 3.1 essayez (notez l'écriture minuscule):

from tkinter import * 
Questions connexes