python - examples - ImportError: Ningún módulo llamado MySQLdb
python mysql web (10)
Así que pasé unas 5 horas tratando de encontrar la manera de lidiar con este problema al tratar de ejecutar
./manage.py makemigrations
Con Ubuntu Server LTS 16.1, una pila LAMP completa, Apache2 MySql 5.7 PHP 7 Python 3 y Django 1.10.2 Realmente tuve problemas para encontrar una buena respuesta a esto. De hecho, todavía no estoy satisfecho, pero la ÚNICA solución que funcionó para mí es esta ...
sudo apt-get install build-essential python-dev libapache2-mod-wsgi-py3 libmysqlclient-dev
seguido de (desde el interior del entorno virtual)
pip install mysqlclient
Realmente no me gusta tener que usar las instalaciones de desarrollo cuando intento configurar un nuevo servidor web, pero desafortunadamente esta configuración fue la única que pude tomar.
Me refiero al siguiente tutorial para hacer una página de inicio de sesión para mi aplicación web. http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982
Estoy teniendo problemas con la base de datos. Estoy recibiendo un
ImportError: No module named MySQLdb
cuando ejecuto
http://127.0.0.1:5000/testdb
He intentado todas las formas posibles de instalar python mysql, el mencionado en el tutorial, easy_install, sudo apt-get install.
He instalado mysql en mi env virtual. Mi estructura de directorios es la misma que se explica en el tutorial. El módulo está instalado con éxito en mi sistema y todavía estoy recibiendo este error.
Por favor ayuda. ¿Qué podría estar causando esto?
Depende de la versión de Python también en mi experiencia.
Si está usando Python 3, la respuesta de @DazWorrall funcionó bien para mí.
Sin embargo, si está usando Python 2, debería
sudo pip install mysql-python
que instalaría el módulo ''MySQLdb'' sin tener que cambiar el URI de SQLAlchemy.
Mi problema es:
return __import__(''MySQLdb'')
ImportError: No module named MySQLdb
y mi resolución:
pip install MySQL-python
yum install mysql-devel.x86_64
al principio, acabo de instalar MySQL-python, pero el problema aún existía. Entonces, creo que si este problema sucediera, también deberías tener en cuenta mysql-devel. Espero que esto ayude.
O prueba esto:
apt-get install python-mysqldb
Recibí este problema cuando estaba trabajando en SQLAlchemy. El dialecto predeterminado utilizado por SQLAlchemy para MySQL es mysql+mysqldb
.
engine = create_engine(''mysql+mysqldb://scott:tiger@localhost/foo'')
No module named MySQLdb
error " No module named MySQLdb
" cuando se ejecutó el comando anterior. Para solucionarlo, instalé el módulo mysql-python
y el problema se solucionó.
sudo pip install mysql-python
Si bien la respuesta de @Edward van Kuik es correcta, no tiene en cuenta un problema con virtualenv v1.7 y superior .
En particular, la instalación de python-mysqldb
vía apt
en Ubuntu lo coloca en /usr/lib/pythonX.Y/dist-packages
, pero esta ruta no está incluida por defecto en el sys.path
de virtualenv.
Para resolver esto , debe crear su virtualenv con paquetes de sistema ejecutando algo como:
virtualenv --system-site-packages .venv
Si tiene problemas para compilar la extensión binaria, o en una plataforma donde no puede, puede intentar usar los enlaces PyMySQL
puros de python.
Simplemente pip install pymysql
y cambie su URI SQLAlchemy para comenzar así:
SQLALCHEMY_DATABASE_URI = ''mysql+pymysql://.....''
Hay algunos otros controladores que también puedes probar.
Tengo tantos errores relacionados con los permisos y lo que no. Puede intentar esto:
xcode-select --install
puedes intentar
pip install mysqlclient
yum install MySQL-python.x86_64
trabajó para mi.