Cómo acceder a MySQL Python Connector con Python 2.7.8 y Sublime Text 3 en OS X 10.9
-
20-12-2019 - |
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.
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.