2010-03-16 6 views
10

Cuando escribo import MySQLdb en Eclipse usando el complemento PyDev, obtengo una importación no resuelta. Sin embargo, el programa se ejecuta sin error. Puedo agregar una anotación para que desaparezca el error, pero ¿cuál es la forma correcta de manejar esto?¿Cómo puedo manejar un eclipse no resuelto (Python)

¿Cómo puedo ayudar a Eclipse a saber que MySQLdb está allí?

Respuesta

9

Parece que MySQLdb está en algún lugar de su sys.path, pero no en el proyecto PYTHONPATH de su proyecto Eclipse; en otras palabras, Eclipse cree que va a obtener un error de importación en el tiempo de ejecución porque no lo ha configurado completamente. Google parece decir que puede modificar esta configuración en Window->Preferences->Preferences->PyDev->Python Interpreter para incluir la ruta a su módulo MySQLdb.

Por alguna ayuda para saber donde MySQLdb podría estar viviendo en su sistema:

  1. Abrir un intérprete interactivo,
  2. import MySQLdb
  3. Si eso tiene éxito, se puede obtener una pista de: print MySQLdb.__file__; puede ser el archivo __init__ en el paquete al que debe apuntar la ruta.
+0

Hmm. . . suena genial, siguió las instrucciones, todo parecía tan probable. Pero el error permanece –

+0

No suena demasiado cliché, pero ¿intentó apagar y volver a encender Eclipse después? Aparte de eso, ya no tengo ideas. – cdleary

+0

Creo que sí. También intentaré limpiar el proyecto. –

0

Una vez tuve un problema similar en Windows (nunca lo encontré en Linux) y descubrí que tenía que incluir el directorio .egg de mi biblioteca en mi PYTHONPATH.

Por ejemplo, mi PYTHONPATH (PyDev/Intérprete - Python/Bibliotecas) incluye:

C:\Python26\Lib\site-packages 

y tuve que añadir:

C:\Python26\Lib\site-packages\jinja2-2.2.1-py2.6.egg 

de usar Jinja.

+0

Gracias, pero eso tampoco funcionó. –

5

fijo Esta haciendo dos cosas:

1) Agregado MySQLdb huevo a la PYTHONPATH bajo Ventana-> Preferencias-> Preferencias> PyDev-> Python intérprete.

C:\Python26\Lib\site-packages\MySQL_python-1.2.3c1-py2.6-win32.egg 

2) Cierre y vuelva a abrir el archivo .py que tenía la x roja.

0

Agregar el huevo funciona, pero el error persiste. La solución para que el error se puede encontrar mediante la adición de

#@UnresolvedImport 

Para la declaración de importación, como en:

import web #@UnresolvedImport 

Fuente: http://klaith.wordpress.com/2009/06/12/pydev-unresolved-import-errors/

+0

Leí el artículo e intenté esto. El código original hizo una importación de lxml.etree como etree y luego creó una instancia de etree.HTMLParser(). Cambié esto a lxml.etree.HTMLParser() y aún recibí el error. Traté de agregar import lxml primero. Incluí la frase de arriba. Eso no ayudó. Cuando el archivo se cierra, la lista de Problemas no muestra errores desaparecen mágicamente. Cuando abrí el archivo .py, vuelve a mostrar los errores. – RichMeister

9

cdleary anterior proporcionó la razón hace dos años, pero esto puede ser más fácil. Básicamente, uno reinstala el intérprete.

  1. Seleccione Ventana -> Preferencias -> PyDev -> Intérprete - Python
  2. Seleccione el intérprete de Python en el panel superior
  3. Haga clic en Eliminar
  4. Haga clic en Configuración automática
  5. acuerdo a todo.

Esto funciona en Fedora 17 usando el Eclipse 4.2.0 que vino con la administración del paquete.

+0

No estoy haciendo mucho Python en estos días, así que no voy a volver a visitar esto. –

0

Tuve un problema similar y el siguiente es lo que hice para resolver mi problema. Tengo una máquina con Windows 8, Python 2.7 instalado y ejecutando mis cosas a través de eclipse.

Algunos antecedentes:

Cuando hice un easy install intenta instalar MySQL-python 1.2.5 que falló con un error: Unable to find vcvarsall.bat. Hice un easy_install de pip y probé la instalación pip que también falló con un error similar. Ambos hacen referencia al vcvarsall.bat, que tiene algo que ver con visual studio, ya que no tengo Visual Studio en mi máquina, me dejó buscando una solución diferente, que comparto a continuación.

La solución:

  1. Volver a instalar Python 2.7.8 desde 2.7.8 de https://www.python.org/download esto añadirá ninguna configuración del registro que faltan, que se requiere para la próxima instalación.
  2. Install 1.2.4 de http://pypi.python.org/pypi/MySQL-python/1.2.4

Después de que hiciera esas dos instalaciones, Reabrí Eclipse y tengo un mensaje para actualizar las rutas de Eclipse que acepté, después de que yo era capaz de consultar mi db MySQL .

0
import MySQLdb 

Si el código de error como este espectáculo:

importación sin resolver: MySQLdb

se debe añadir a su D:\Python27\Lib\site-packages\MySQLdbsys.path.

D:\Python27\Lib\site-packages\MySQLdb es esta ubicación donde instala MySQLdb en el disco de su computadora. Después de este paso, el error desaparecerá.

+0

Creo que Eclipse es una buena herramienta y es conveniente. Puede usar [JetBrains PyCharm 4.0.4] (https://www.jetbrains.com/). ¿Lo usas? – intoo

Cuestiones relacionadas