2010-01-26 11 views
18

Acabo de descargar wxPython, y estaba ejecutando algunos de los programas de ejemplo desde here. Sin embargo, en cada línea que usa una variable de wx. *, Obtengo una "Variable no definida del error de importación"Variable indefinida de la importación al usar wxPython en pydev

Por ejemplo, el siguiente programa genera cinco errores en las líneas 1,4,8 y dos en la línea 5 :

import wx 
class MyFrame(wx.Frame): 
    """ We simply derive a new class of Frame. """ 
    def __init__(self, parent, title): 
     wx.Frame.__init__(self, parent, title=title, size=(200,100)) 
     self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE) 
     self.Show(True) 
app = wx.App(False) 
frame = MyFrame(None, 'Small editor') 
app.MainLoop() 

El programa, sin embargo, compila y funciona perfectamente. No he hecho ninguna modificación significativa a pydev o eclipse, y la instalación de wxPython está actualizada.

+0

Estoy teniendo el mismo problema. ¿Hay alguna solución para este problema disponible además de esperar a que los devolvedores la solucionen? –

+0

Tuve el mismo problema y desapareció cuando actualicé a PyDev 1.5.6. –

Respuesta

3

Algunas de las versiones más recientes de pydev (circa enero de 2010) tienen dificultades para el seguimiento de los nombres abajo importados. Probablemente no sea nada.

Si esto es todavía ocurre, informe del error a aptana appcelerator, aunque sin duda que ya conoce.

Aparece este problema cuando trabajo con paquetes que acabo de descargar y, finalmente, los errores desaparecen. Mi problema más reciente fue después de descargar pygame (circa enero de 2010).

Editar

he modificado mi respuesta anterior ya que la gente se downvoting ella, y estoy asumiendo que es porque la información es rancio, o porque appcelerator compró aptana. No he utilizado pydev con Eclipse durante casi 2 años y la situación puede ser diferente ahora.

+0

No creo que esto sea un error, aunque puede haber sido en enero. Ver mi respuesta a continuación. – oob

+0

Con pydev 1.5.6.2010033101, hoy todavía tenía el error de importación cuando intenté incluir networkx por primera vez. El procedimiento que mencionó en su respuesta es lo que he estado usando desde enero de 2010 para solucionar el problema. Ocasionalmente, simplemente reiniciar Eclipse ha sido suficiente (por ejemplo, con pygame en enero de 2010), aunque el intérprete eliminar/agregar funciona siempre. –

+0

Además, creo que recuerdo haber leído en algún lugar del sitio aptana una recomendación para utilizar el método de eliminar/agregar que enumera a continuación como una solución. –

3

Trate

wx = wx

No pregunte por qué. Este enfoque (que encontré al tratar de resolver el problema en partes más pequeñas) simplemente parece eliminar el problema de las variables no definidas de wx.

3
#import wx 
from wx import wx #@UnresolvedImport 

corregirá.

40

Esto me pasó a mí. Instalé PyDev, lo configuré y me puse feliz. Unos meses más tarde, instalé wxPython y tuve el mismo problema. Una manera fácil de solucionar es en Eclipse:

Ventana -> Preferencias -> PyDev -> Intérprete - Python

Basta con retirar el intérprete por defecto y añadir uno nuevo (que puede ser el mismo que tenía antes) . Pydev/Eclipse busca a través de su directorio de instalación de Python y agrega las rutas correctas a su PYTHONPATH. Reinicié y todo estaba bien.Noté que añadió

C:\Python26\lib\site-packages\wx-2.8-msw-unicode

Así que probablemente podría simplemente añadir que a la PYTHONPATH lugar de pasar por todo lo anterior, en el supuesto de que camino es el que está instalado este directorio.

Por cierto, estoy usando:

  1. Eclipse Helios
  2. PyDev 1.6.2.2010090812
  3. Python 2.6
  4. wxPython2.8-win32-Unicode-2.8.11.0-py26

Pero creo que esta debería ser una solución bastante general al problema.

+0

¡Salud! Nota para OsX: el instalador wxpython aparentemente coloca wxpython en una ubicación diferente - después de agregar "/usr/local/lib/wxPython-unicode-2.8.11.0/lib/python2.6/site-packages/wx-2.8-mac- Unicode "funcionó para mí – christianbrodbeck

+0

Este es el camino a seguir. – initzero

+0

+1 Funcionó para mí ejecutando PyDev 2.4.0 –

7

PyDev encuentra las referencias al configurar el intérprete en

Window -> Preferences -> Pydev -> Interpreter - Python 

Si wxPython no estaba en su directorio site-packages cuando se configura por primera vez el intérprete, a continuación, las referencias a los objetos WX y los nombres no serán conocidos por la función de búsqueda del editor. Para solucionar este problema, quite el intérprete de

Window -> Preferences -> Pydev -> Interpreter - Python 

y seleccione nuevo. Vuelva a agregar la instalación de python nuevamente y presione aplicar. En este momento, Pydev volverá a importar todos los objetos del paquete del sitio y debería llenar el diccionario de búsqueda. Deberá reiniciar Eclipse para que se realicen los cambios.

Cuestiones relacionadas