hongjooy
hongjooy

Reputation: 453

virtualenv(python3.4), pip install mysqlclient error

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!?

Upvotes: 37

Views: 59348

Answers (8)

Amir Zare
Amir Zare

Reputation: 583

This worked for me on Python 3.12 and Ubuntu 22.04 WSL.

sudo apt-get install -y python3-dev
sudo apt-get install -y gcc default-libmysqlclient-dev pkg-config
pip install mysqlclient

Upvotes: 0

Michael Loudon
Michael Loudon

Reputation: 11

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

Upvotes: 0

Abu Sayeed Mondal
Abu Sayeed Mondal

Reputation: 465

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',
    }
}

Upvotes: 0

arcegk
arcegk

Reputation: 1480

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

Upvotes: 80

louis_guitton
louis_guitton

Reputation: 5727

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.

Upvotes: 5

Akash Desarda
Akash Desarda

Reputation: 868

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

Upvotes: 2

karjaubayev
karjaubayev

Reputation: 591

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

Upvotes: 1

hkjamil
hkjamil

Reputation: 180

  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
    

Upvotes: 1

Related Questions