Python ImportError: No module named 'MySQLdb' (Problema conhecido, mas as soluções não funcionan. )

1. Python ImportError: No module named 'MySQLdb' (Problema conhecido, mas as soluções não funcionan. )

Thiago C Sall
Sall

(usa Debian)

Enviado em 31/03/2017 - 09:40h

Prezados bom dia.
Possuo um servidor dedicado Linux, onde trabalhamos apenas o básico do Apache, do PHP... O problema é que agora estamos iniciando alguns trabalhos com Python, e quando tento o "import MySQLdb" no prompt python ele me retorna ImportError: No module named 'MySQLdb'.

Instalei de todas as formas possíveis os devidos pacotes creio eu, mas o problema persiste.
Tenho a impressão de que meu Python não esta localizando a biblioteca no caminho certo. Mas não faço a mínima ideia de como conferir isso ou concertar. Meu conhecimento no linux é bem básico.

Alguém poderia me dar alguma luz? Desde já grato.



  


2. Re: Python ImportError: No module named 'MySQLdb' (Problema conhecido, mas as soluções não funcionan. )

Airton Lastori
alastori

(usa Outra)

Enviado em 31/03/2017 - 12:45h

Já tentou instalar o connector/python? https://dev.mysql.com/downloads/connector/python/


3. Re: Python ImportError: No module named 'MySQLdb' (Problema conhecido, mas as soluções não funcionan. )

Thiago C Sall
Sall

(usa Debian)

Enviado em 31/03/2017 - 13:12h

alastori escreveu:

Já tentou instalar o connector/python? https://dev.mysql.com/downloads/connector/python/


Essa instalação também fiz alastori. Eu acabei de pedir a listagem dos pacotes instalador com o pip. O resultado foi esse:

print(installed_packages_list)
['pip==7.1.2', 'setuptools==18.2']


Isso quer dizer que todos os modulos que estou instalando não estão sendo reconhecidos pelo python msm não me gerando erro na instalação?


4. Re: Python ImportError: No module named 'MySQLdb' (Problema conhecido, mas as soluções não funcionan. )

Airton Lastori
alastori

(usa Outra)

Enviado em 31/03/2017 - 15:26h

No CentOS/Redhat/Oracle Linux eu faço assim para instalar e conferir o MySQL Connector/Python:

$ python --version
Python 2.7.5

$ wget https://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-2.1.5-1.el7.x86_64.rpm
--2017-04-01 03:30:23-- https://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-2.1.5-1.el7.x86_64.rpm
Resolving dev.mysql.com (dev.mysql.com)... 137.254.60.11
Connecting to dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-2.1.5-1.el7.x86_64.rpm [following]
--2017-04-01 03:30:38-- https://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-2.1.5-1.el7.x86_64.rpm
Resolving cdn.mysql.com (cdn.mysql.com)... 72.246.140.72
Connecting to cdn.mysql.com (cdn.mysql.com)|72.246.140.72|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 243220 (238K) [application/x-redhat-package-manager]
Saving to: `mysql-connector-python-2.1.5-1.el7.x86_64.rpm'

100%[======================================>] 243,220 35.0KB/s in 6.8s

2017-04-01 03:30:46 (35.0 KB/s) - `mysql-connector-python-2.1.5-1.el7.x86_64.rpm
' saved [243220/243220]

$ ls *.rpm
mysql-connector-python-2.1.5-1.el7.x86_64.rpm

$ sudo yum -y localinstall mysql-connector-python*.rpm
Loaded plugins: ulninfo
Examining mysql-connector-python-2.1.5-1.el7.x86_64.rpm: mysql-connector-python-2.1.5-1.el7.x86_64
Marking mysql-connector-python-2.1.5-1.el7.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package mysql-connector-python.x86_64 0:2.1.5-1.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
mysql-connector-python
x86_64 2.1.5-1.el7 /mysql-connector-python-2.1.5-1.el7.x86_64 1.1 M

Transaction Summary
================================================================================

Install 1 Package

Total size: 1.1 M
Installed size: 1.1 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mysql-connector-python-2.1.5-1.el7.x86_64 1/1
Verifying : mysql-connector-python-2.1.5-1.el7.x86_64 1/1

Installed:
mysql-connector-python.x86_64 0:2.1.5-1.el7

Complete!


$ python -c 'help("modules")' | grep mysql
_crypt dis mysql symbol


$ python -c 'from distutils.sysconfig import get_python_lib; print get_python_lib()'
/usr/lib/python2.7/site-packages


$ ls /usr/lib/python2.7/site-packages/*mysql*
/usr/lib/python2.7/site-packages/mysql_connector_python-2.1.5-py2.7.egg-info

/usr/lib/python2.7/site-packages/mysql:
connector __init__.py __init__.pyc __init__.pyo


Parece que você está tentando usar outro módulo, o MySQLdb. O connector oficial você usa com import mysql.connector .

Um bom tutorial de exemplo de como usar o connector está aqui: https://dev.mysql.com/doc/connector-python/en/connector-python-examples.html



5. Fiz um procedimento igual para o Debian e nao resolveu.

Thiago C Sall
Sall

(usa Debian)

Enviado em 01/04/2017 - 09:16h

alastori, fiz como sugerido. Apesar de que eu não sabia sobre a mais MySql sugere o usdo da import mysql.connector. Passei a pesquisar sobre ela, mas ainda sim sem sucesso.

Cheguei a fazer hj uma instalacao zerada do 3.6 como sugerido na primeira resposta do link abaixo. Todo o procedimento sem erros, e no final o msm resultado, tendo acessar nao conecta, faço os procedimentos de instalação e não conecta...

http://unix.stackexchange.com/questions/332641/how-to-install-python-3-6

Agora fiz um

 apt-cache search MySQLdb
bibus - bibliographic database
mysql-utilities - collection of scripts for managing MySQL servers
python-mysqldb - Python interface to MySQL
python-mysqldb-dbg - Python interface to MySQL (debug extension)
zope-mysqlda - database adapter for connecting Zope and MySQL


E ainda assim não connecta.


6. Funcionou

Thiago C Sall
Sall

(usa Debian)

Enviado em 01/04/2017 - 09:24h

alastori, muito obrigado pelas dicas. Apesar de eu ter resolvido o problema sem saber qual era o problema (e isso me deixa puto, pois não agrega muito). Acabou que re-fiz todo o procedimento, o connector nao funciona, mas o import MySQLdb passou a funcionar em uma virtualenv que criei.

Novamente obrigado pela ajuda (y)



  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts