virtualenv(python3.4), pip install mysqlclient error

Question:

I created virtualenv for django 1.9 project. I am trying to pip install mysqlclient or mysql-python but both of them gives me errors.

pip install mysqlclient

pip install mysql-python

both give me the same error message:

Command “python setup.py egg_info” failed with error code 1 in
/private/var/folders/r4/bkv_4t9s4r140pjkgv6lsq8w0000gn/T/pip-build-cdxcssp9/mysqlclient

any suggestions!?

Asked By: hongjooy

||

Answers:

Try to run this before:

Ubuntu:

sudo apt-get install python-dev python3-dev
sudo apt-get install libmysqlclient-dev
pip install pymysql
pip install mysqlclient

In OSX:

sudo xcodebuild -license accept
brew install mysql-connector-c
Answered By: arcegk
  1. Download the MySQL APT repository config tool (you can see more details here: http://dev.mysql.com/downloads/repo/apt/)

    wget http://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb
    
  2. Install the MySQL APT repository config tool

    dpkg -i mysql-apt-config_0.7.3-1_all.deb
    

You will be asked to select product and version that you want to install. In the first step, select Server and next select either mysql-5.6 or mysql-5.7. Then click Apply.

  1. Update APT

    apt-get update
    
  2. Install the server

    sudo apt-get install mysql-community-server
    
    sudo apt-get install python-dev python3-dev
    sudo apt-get install libmysqlclient-dev
    pip install pymysql
    pip install mysqlclient
    
Answered By: hkjamil

If you are using Python 2.x, and already have installed:

  • MySQL Server
  • Python Connector

Then the problem is when you run:

Windows:

(your environment) SomePath> pip install mysqlclient 

Mac OS:

$ pip install mysqlclient

Actually it is asking to install package for Python 3.x not 2.x. So it is throwing an error.

Solution is to run:

Windows:

(your environment) SomePath> pip install mysqlclient==1.3.9

Mac OS:

$ pip install mysqlclient==1.3.9

P.S The mysqlclient==1.3.9 version is the latest version for Python 2.x

Answered By: karjaubayev

If you’re using Anaconda (which I highly suggest you) then run these two commands

conda install -c anaconda mysql-connector-python

and

conda install -c bioconda mysqlclient
Answered By: Akash Desarda

This is probably due to your mysql_config being broken.

As of 2019, here is how to run smoothly pip install mysqlclient on MacOS:

brew info openssl and follow the commands at the bottom

  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc
  export LDFLAGS="-L/usr/local/opt/openssl/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl/include"

Other approaches:

  • brew install/upgrade/reinstall mysql : did not fix the issue for me, but has the nice side effect to make sure your installation is clean.
  • brew install mysql-connector-c : to make that work you have to unlink mysql, which ruins your setup and it did not fix the issue for me.
Answered By: louis_guitton

For Ubuntu 18.04

sudo apt-get install python-dev python3-dev
sudo apt-get install libmysqlclient-dev
pip install pymysql
pip install mysqlclient

and setup

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'DB_NAME',
        'USER': 'DB_USER',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}

Answered By: Abu Sayeed Mondal

This worked for on Ubuntu 18.04

sudo apt-get install python3.6-dev 
sudo apt-get install mysql-client 
sudo apt-get install libsqlclient-dev 
sudo apt-get install libssl-dev
Answered By: Michael Loudon
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.