First things first; you should download and install appropriate MySQL python connector for Windows/Linux/Mac OSx from here. This is a long way to do job, you may and here i will use the pip Python Package Index and PyMySQL. This package contains a pure-Python MySQL client library. The goal of PyMySQL is to be a drop-in replacement for MySQLdb and work on CPython, PyPy and IronPython.

Aug 20, 2020. PyMySQL - Connect to MySQL databases. There are several programs (easyinstall or pip) that will automatically download and install 3rd party modules for you, or you can manually download the module install file and use python to run their setup script directly. Once they are installed, any python program you write can import and use them.

Table Of Content

How To Download Pymysql Mac
1- What is PyMySQL?
2- Install PyMySQL
3- Sample Database
4- Connect MySQL from Python with PyMySQL
5- Query Example
6- Insert Example
7- Update Example
8- Delete Example
9- Call Procedure
10- Call Function
1- What is PyMySQL?
2- Install PyMySQL
3- Sample Database
4- Connect MySQL from Python with PyMySQL
5- Query Example
6- Insert Example
7- Update Example
8- Delete Example
9- Call Procedure
10- Call Function

1- What is PyMySQL?

In order to connect Python to a database you need a driver, which is a library used to Interact with the database. For MySQL database, you have such 3 Driver choices:
MySQL/Connector for PythonThis is a library provided by the MySQL community.
MySQLdbMySQLdb is a library that connects to MySQL from Python, it is written in C language and it is free and open source software.
PyMySQLThis is a library that connects to MySQL from Python and it is a pure Python library. PyMySQL's goal is to replace MySQLdb and work on CPython, PyPy and IronPython.
PyMySQL is an open source project, and you can see its source code here:

2- Install PyMySQL

In order to install PyMySQL on Windows (or Ubuntu/Linux) you need to open the CMD window, and run the following statement:

3- Sample Database

'Simplehr' is a sample database used in many tutorials on o7planning. In the post, I also use it. You can create the database based on the guide below:

4- Connect MySQL from Python with PyMySQL

The following simple example uses Python to connect to MySQL and query the Department table:
Results of the example:

Utility Module:

The advice here is that you should create a utility module to connect to the database. In case I create a module named as 'myconnutils', which defines the getConnection() function to returns a connection.

5- Query Example

The following example queries the Employee table, Python uses %s as a 'placeholder' for the parameter, which is independent of the parameter type. For example:

6- Insert Example

7- Update Example

8- Delete Example

9- Call Procedure

There are some problems when you call a function or procedure in Python. I set up a situation like this:
  • Get_Employee_Info(p_Emp_Id, v_Emp_No, v_First_Name, v_Last_Name, v_Hire_Date)
The procedure above has an input parameter p_Emp_Id and the four output parameters v_Emp_No, v_First_Name, v_Last_Name, v_Hire_Date, and you call this procedure from Python passing the value to p_Emp_Id to get 4 output values. Unfortunately, the value received is not guaranteed to be true (as stated in the DB-API specification). Python can only retrieve values from a SELECT clause.
However you can still solve the problem above, you need to wrap Get_Employee_Info procedure by another procedure (for example Get_Employee_Info_Wrap), this procedure returns the values from the SELECT clause.
Instead of calling the Get_Employee_Info procedure in Python, call Get_Employee_Info_Wrap procedure.
Run the example:

10- Call Function

To call a function in Python, you should create a query clause, and execute this query.
Here is the Get_Emp_No function, the input parameter is p_Emp_Id and returns Emp_No (Employee Code).
Running the example:

These are online courses outside the o7planning website that we introduced, which may include free or discounted courses.

  • Python MySql From Scratch
  • Python GUI : From A-to-Z With 2 Final Projects
  • Learn iPython: The Full Python IDE
  • Learn Programming in Python With the Power of Animation
  • Complete Python Web Course: Build 8 Python Web Apps
  • Learning Path: Python GUI Projects
  • Python Programming Full Course (Basics,OOP,Modules,PyQt)
  • Master Computer Vision™ OpenCV4 in Python with Deep Learning
  • Python 2000: Beyond The Basics
  • Python 3000: Tactical File I/O
  • New to Python Automation.?Try Step by Step Python 4 Testers
  • Python 3 For Beginner - Object-Oriented Programming
  • Python Fundamentals
  • Learning Path: Python Web Development
  • Web Programming with Python

Long story short, when I write the following:

I get the error

EnvironmentError: mysql_config not found

All right, so there are plenty of threads and the like on how to fix that, so I run this code:

Then I rerun my sudo code:

Then I get the following error.

Setup script exited with error: command ‘llvm-gcc-4.2’ failed with exit status 1

Google/Stack Overflow that, and I am told to download a GCC package which I did the other day, 200 MB’s or there-abouts and still no fix.

At this point I am lost, they say insanity is doing the same thing over and over while expecting a different result. Well, I’ve continually run the aforementioned code expecting a different result, so I’m not to far away from going insane.

At this point in my Python career, I am new to this, but I am willing to try pretty much anything to get this up and running.

If it helps I am officially running, Mac OS X 10.7.5, and I do have MAMP installed (is that an issue?)

Also, the other day when I was trying all of this for the first time I installed (reinstalled?) MySQL, so I’m really in a tough spot at this point.

Is there a fix?

I’ve racked my brain, searched Google, read Stack Overflow, and spent hours trying to figure this out to no avail.


Another option is to use pymysql it is a pure Python client connection to MySQL so you don’t have to mess around with compiling, a good exercise, but it can be frustrating if you are just trying to get something done. pymysql follows the same API as MySQLdb, it can essentially be used as a drop in replacement.

Also, it used to be that MySQLdb, did not work with Python 3, but this may have changed, pymysql didn’t have that problem which also induced me to switch, this may have changed though. pymysql can be slower than MySQLdb but you’ll have to see if you notice that, it is also under a different license (MIT for pymysql, GPL for MySQLdb)


Here’s what I would install, especially if you want to use homebrew:

  • XCode and the command line tools (as suggested by @7stud, @kjti)
  • Install homebrew
  • brew install mysql-connector-c
  • pip install mysql-python

Install mysql via homebrew, then you can install mysql python via pip.

It works for me.


I am using OSX -v 10.10.4. The solution above is a quick & easy.

Happening OSX does not have the connection library by default.

First you should install the connector:

Then install with pip mysql


For Python 3+ the mysql-python library is broken. Instead, use the mysqlclient library. Install with: pip install mysqlclient

It is a fork of mysql-python (also known as MySQLdb) that supports Python 3+

This library talks to the MySQL client’s C-interface, and is faster than the pure-python pymysql libray.

Note: you will need the mysql-developer tools installed. An easy way to do this on a Mac is to run

to delegate this task to homebrew. If you are on linux, you can install these via the instructions at the mysqlclient github page.


As others mentioned before me….getting Python to work with MySQL on a Mac is a [email protected]#[email protected]&%^!! nightmare.

Installed Django framework on Mac OS 10.7.5 initially from the original Django website and when the MySQLdb didn’t work, and after many hours googling and trying solutions from SO, I have installed the Django stack from BitNami

Still, got the issues mentioned above and then some more…

You can get yourself registered in 3 ways;. If you face translation issue, please use Google translate extension. Therefore, we strongly recommend VPN to unblock KuGou music. A Few tips on creating account on Kugou appTo create an account on KuGou music, you have to get yourself registered on the KuGou app.Now visit this link to enter information like username, password, and captcha details. Kugou music for mac download torrent.

Pymysql Github

What helped me eventually is what Josh recommends on his blog:

Also, G0blin Jailbreak available for iOS 10.3 – iOS 10.3.3 versions only. Also, it has web-based Apricot iOS for these versions.All iOS 11 – iOS 11.4.1 Jailbreak Software is available on the following page. H3lix Jailbreak is available for all 32-bit devices running iOS 10 – iOS 10.3.3 Jailbreak and Doubleh3lix jailbreak available for 64-bit devices.will allow you to install Themes, Tweaks, iOS customization apps for iOS 10- iOS 10.3.2. Jailbreak tools for iOS 10 – iOS 10.3.3Several jailbreak tools are available for iOS 10 & iOS 10.3.3 the most popular Jailbreak tool for all iOS 10 versions. Jailbreak ios 7 download mac.

Now Python 2.7 is finally connected to MySQL 5.5


The issue you are having is that the gcc compiler is not installed on your Mac. It will be installed if you have installed XCode. You will have to download gcc complier and install it manually. Follow the below link and download it –

I once had this problem installing Ruby 1.9 and I had to compile ruby for myself because Mountain Lion wasn’t supported at that time. After installing the package, verify the install by the command gcc.


It’s time to be a big boy and install from source. Try this:

1) Download the MySQL-python-1.X.X.tar.gz file(by default will go to your Downloads directory)

Pymysql Download Windows

2) Open a Terminal window and cd to the Downloads directory.


3) Unzip the file you downloaded:

That will create a directory inside your Downloads directory called MySQL-python

4) cd into the newly created directory.

5) Typically, you just open the file called README or INSTALL and follow the instructions–but generally to install a python module all you do is:

If you care to look, there should be a file called inside your newly created MySQL-python directory, and you are invoking that program to install the module.

Also note that this:

is not permanent if you did that on the command line. You need to put that line in a file called .bashrc in your home directory (~/ or equivalently /Users/YOUR_USER_NAME). To see if .bashrc already exists(it’s a hidden file), issue the command:

and look for .bashrc. If .bashrc doesn’t exist, then create it.


I am using Python 2.7.11 :: Anaconda 2.3.0 (x86_64) on Mac OS X 10.11.4 15E65.

You may want to follow the steps below:

  • Install homebrew
  • Open a terminal and run: brew install mysql-connector-c
  • pip install mysql-python

Then the Anaconda will have the mysql-python installed and you can start with MySQLdb then.

Good luck. Thanks.

Tags: mysql, python, sql