I am working on projects based on Django 1.7 and Python 3.4. However, I had problems installing MySQL/Connector Python with pip3.
According to this document, MySQL/Connector Python supports Python 3. I used to install MySQL-python in Python with command pip install MySQL-python
.
This download page only provides .deb files for installation on Ubuntu (btw, the installation also has conflict problems)
I tried to install with:
pip3 install mysql-connector-python --allow-external mysql-connector-python
No error messages. But when I run the Django app, I got the following error message:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
Question: So, how do I install MySQL/Connector Python into a virtual environment with pip3? Or is it supposed to be installed into the system, instead of a virtual environment?
The version of mysql-connector that pip installs doesn't work with Django 1.8. There is a fixed version on github. The command to install from there is
That one works with Django 1.8.
If you read the documentation, you will see that the native MySQLdb driver doesn't support Python 3. You have two options:
A mysqldb fork
There is a fork that supports Python 3. Read its Github repo to know how to install with your system. For Ubuntu do
apt-get install python-mysqldb
MySQL connector
Install from venv as you did with
pip install mysql-connector-python --allow-external mysql-connector-python
. Then read their documentation for Django and modify yoursettings.py
file to have it like:Pay attention to the connector value
mysql.connector.django
:-)