Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erro ao rodar prepara_banco no macOS

Olá, pessoal!

Quando tento rodar o prepara_banco.py, eu recebo o seguinte erro:

Traceback (most recent call last): File "/Users/jessicacarneiro/PycharmProjects/jogoteca/prepara_banco.py", line 1, in import MySQLdb File "/Users/jessicacarneiro/PycharmProjects/jogoteca/venv/lib/python3.7/site-packages/MySQLdb/init.py", line 18, in from . import mysql ImportError: dlopen(/Users/jessicacarneiro/PycharmProjects/jogoteca/venv/lib/python3.7/site-packages/MySQLdb/mysql.cpython-37m-darwin.so, 2): Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.21.dylib Referenced from: /Users/jessicacarneiro/PycharmProjects/jogoteca/venv/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so Reason: image not found

Process finished with exit code 1

Como posso resolver isso?

4 respostas

Jessica,

Por favor poderia tentar rodar o código abaixo.

try:
    import MySQLdb
 except ImportError:
    print('Biblioteca nao existe')

Caso retorno a mensagem de erro tente o comando abaixo:

pip install mysql-connector-python

Tenha cuidado caso você tenha outra versão alem da 3.7, use o pip referente a versão 3.7, senão o Python não encontrara a biblioteca em tempo de execução.

Quando eu rodo esse código, ele imprime 'Biblioteca nao existe'. E mesmo instalando esse mysql-connector-python eu continuo tendo o mesmo erro. :/

Jessica,

Lista todos modulos instado:

python3 -m pip freeze

Lista todos modulos instados que comecem com "my":

python3 -m pip freeze | grep my

Caso o modulo não apareça na lista pode ter acontecido um erro na instalação.

Pelo log do erro você esta utilizando o Pycharm, então você pode seguir os passo descrito nesse site abaixo que vai conseguir atualizar o modulo direto no Pycharm https://www.jetbrains.com/help/pycharm/installing-uninstalling-and-upgrading-packages.html

solução!

Consegui fazer funcionar!

Reinstalei o mysql usando o homebrew:

brew install mysql

Adicionei o seguinte ao meu .bash_profile

MYSQL=/usr/local/Cellar/mysql/8.0.16/bin
export PATH=$PATH:$MYSQL
export DYLD_LIBRARY_PATH=/usr/local/Cellar/mysql/8.0.16/lib:$DYLD_LIBRARY_PATH

Para iniciar o mysql eu rodei:

brew tap homebrew/services

brew services start mysql

Criei uma senha para o usuário root (que editei no arquivo prepara_banco.py):

mysqladmin -u root password 'yourpassword'

E funcionou!