Pregunta

Estoy intentando configurar MySQL para que funcione con Python 2.7.8 y Sublime Text 3 en OS X 10.9, así que instalé el conector MySQL Python.Cada vez que intento ejecutar "importar mysql.connector", aparece "ImportError:Ningún módulo llamado conector".

¿Cómo se debe configurar esto para poder usar el conector para acceder a MySQL?

Detalles:

-Sublime se instala en Aplicaciones

-Sublime Text 3 usa Python 3 como predeterminado, así que tuve que configurar un sistema de compilación Python 2.7.Aquí está mi código para este sistema:

  "cmd": ["/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python2"

-Python está instalado en

 /usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7

-El ejecutable MySQL está instalado en

/usr/local/mysql-5.6.19-osx10.7-x86_64/bin

-El conector tiene un enlace simbólico en

/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mysql/connector

y está completamente instalado en

/usr/local/lib/python2.7/site-packages/mysql/connector

Además, agregué lo siguiente a .bash_profile para agregar los directorios necesarios a la ruta.

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

# trying to get mysql access
PATH = "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:${PATH}"
export PATH

Estoy seguro de que me estoy perdiendo algo simple, pero esta es la primera vez que configuro tanto y he pasado demasiadas horas buscando en Google e intentando descubrir qué estoy haciendo mal.¿Alguien tiene una idea de lo que necesito cambiar para acceder al módulo conector?Gracias de antemano.

¿Fue útil?

Solución

Python no usa el shell $PATH variable para localizar módulos importables, utiliza una lista llamada sys.path en pitón.Si ejecuta su intérprete e imprime sys.path a partir de ahí deberías ver que el site-packages El directorio ya se está buscando.Puede solicitar que se agreguen más directorios a sys.path antes de la ejecución del programa agregándolos al $PYTHONPATH variable de entorno del shell.

De la estructura se desprende que mysql es un paquete con connector siendo un subpaquete, y supongo que es necesario hacer que el enlace simbólico esté en un directorio más alto (es decir. hacia mysql directorio) para recoger los necesarios __init__.py eso hará que sea reconocido como un paquete.

En general es una buena idea aprender a utilizar pip para instalar módulos y paquetes en los llamados entornos virtuales.le permite (por ejemplo) que diferentes programas utilicen diferentes versiones del mismo módulo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top