I tried to get build an app on Django and I wanted to use MySQL as the database. After setting up the settings.py right, I tried to migrate. Then I got the obvious error saying that MySQL is not installed. So inorder to install MySQL, I ran:
sudo -H pip install MySQL-python
I get the following error:
Collecting MySQL-python
Using cached MySQL-python-1.2.5.zip
Complete output from command python setup.py egg_info:
sh: mysql_config: command not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/tmp/pip-build-zAMhWo/MySQL-python/setup.py", line 17, in <module>
metadata, options = get_config()
File "setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "setup_posix.py", line 25, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-build-zAMhWo/MySQL-python/
How do I fix this?
-
Possible duplicate of mysql_config not found when installing mysqldb python interfaceGoingMyWay– GoingMyWay2017年02月21日 03:05:16 +00:00Commented Feb 21, 2017 at 3:05
6 Answers 6
MySQL-python
MySQL-3.23 through 5.5 and Python-2.4 through 2.7 are currently supported. Python-3.0 will be supported in a future release.
You can install mysqlclient or pymysql,I prefer the latter:
pip install pymysql
And add this to your manage.py:
import pymysql
pymysql.install_as_MySQLdb()
4 Comments
manage.py,import pymysql pymysql.install_as_MySQLdb()pymysql is more friendly than mysql-python to support python now.Did you install the SQL client dev pacakge on your system?
sudo apt install libmysqlclient-dev
if you are using mariadb, the drop in replacement for mysql, then run
sudo apt install libmariadbclient-dev
then try again
pip install mysql-connector
Comments
Installations of mysql in some environments can place binaries in directory relative to environment. pip installation fails because setup.py does not find mysql_config at expected path. Steps for source installation -
- Download files here Edit
mysql_configpath mentioned inMySQL-python-1.2.5/site.cfgwith correct path on your local environment. For example,
mysql_config = /usr/local/mysql/bin/mysql_config
- Run below commands inside directory
MySQL-python-1.2.5-
$ python setup.py build
$ sudo python setup.py install
Comments
Have you tried installing a MySQL db driver?
The following documentation tells you how to install one:
https://docs.djangoproject.com/en/1.10/ref/databases/#mysql-db-api-drivers
Comments
I faced the same problem trying to install mysqlclient, try to install mysql-devel. on RHEL/Centos for example:
yum install mysql-devel
Comments
for windows use:
pip install mysql-connector-python