Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MYSQL- python pip install error

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?

like image 426
JGCW Avatar asked Feb 21 '17 02:02

JGCW


3 Answers

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()
like image 196
McGrady Avatar answered Oct 18 '22 22:10

McGrady


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
like image 45
Vic Avatar answered Oct 18 '22 23:10

Vic


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 -

  1. Download files here Edit mysql_config path mentioned in MySQL-python-1.2.5/site.cfg with correct path on your local environment. For example,
mysql_config = /usr/local/mysql/bin/mysql_config
  1. Run below commands inside directory MySQL-python-1.2.5 -
$ python setup.py build
$ sudo python setup.py install
like image 40
Prashant Jamkhande Avatar answered Oct 18 '22 22:10

Prashant Jamkhande