Como acessar o MySQL Python Connector com Python 2.7.8 e Sublime Text 3 no OS X 10.9
-
20-12-2019 - |
Pergunta
Estou tentando configurar o MySQL para funcionar com python 2.7.8 e Sublime Text 3 no OS X 10.9, então instalei o conector MySQL python.Sempre que tento executar "import mysql.connector", recebo "ImportError:Nenhum módulo chamado conector".
Como isso deve ser configurado para que eu possa usar o conector para acessar o MySQL?
Detalhes:
-Sublime é instalado em Aplicativos
-Sublime Text 3 usa python 3 como padrão, então tive que configurar um sistema de compilação python 2.7.Aqui está o meu 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 em
/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7
-O executável MySQL está instalado em
/usr/local/mysql-5.6.19-osx10.7-x86_64/bin
-O conector possui um link simbólico em
/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mysql/connector
e está totalmente instalado em
/usr/local/lib/python2.7/site-packages/mysql/connector
Além disso, adicionei o seguinte a .bash_profile para adicionar os diretórios necessários ao caminho.
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
Tenho certeza de que estou perdendo algo simples, mas esta é a primeira vez que configuro isso e passei muitas horas pesquisando no Google e tentando descobrir o que estou fazendo de errado.Alguém tem ideia do que preciso alterar para acessar o módulo conector?Desde já, obrigado.
Solução
Python não usa o shell $PATH
variável para localizar módulos importáveis, ela usa uma lista chamada sys.path
em Python.Se você executar seu intérprete e imprimir sys.path
a partir dele você deve ver que o site-packages
diretório já está sendo pesquisado.Você pode solicitar que outros diretórios sejam adicionados ao sys.path
antes da execução do programa, adicionando-os ao $PYTHONPATH
variável de ambiente shell.
Parece pela estrutura que mysql
é um pacote com connector
sendo um subpacote, e suponho que você precise colocar o link simbólico um diretório acima (ou seja para o mysql
diretório) para pegar o necessário __init__.py
isso fará com que ele seja reconhecido como um pacote.
Em geral, é uma boa ideia aprender a usar pip
para instalar módulos e pacotes nos chamados ambientes virtuais.permite (por exemplo) que programas diferentes usem versões diferentes do mesmo módulo.