|
Aug
01
|
I started working on Python start of the year and I learned a lot while I'm doing my internship in my current company, MooWee Inc. So it's logical for me to try to pick up Django as the web framework.
One of the hurdle I met and everyone else met is trying to install MySQL adapter for Python. Being the most popular database used, it is crucial to have it work rather than circumventing around the problem by using alternative database such as SQLite or PostgreSQL.
After a few hours of searching, I found a few references that somewhat not entirely complete. I did some cross referencing and found two brings me to the entire solutions, which I'm about to show below.
Step 0:
Before I start, I assumed that you have MySQL and Python installed on the mac.
Step 1:
Download the latest MySQL for Python adapter from SourceForge.
Step 2:
Extract your downloaded package by typing
$ tar xzvf MySQL-python-1.2.2.tar.gz
Step 3:
Inside the folder, clean the package by typing
$ sudo python setup.py clean
Step 4:
In the same folder, edit _mysql.c using your favourite text-editor
4a. Remove the following lines (37-39):
#ifndef uint
#define uint unsigned int
#endif
4b. Change the following:
uint port = MYSQL_PORT;
uint client_flag = 0;
to
unsigned int port = MYSQL_PORT;
unsigned int client_flag = 0;
Step 5:
Create a symbolic link under lib to point to a sub-directory called mysql. This is where it looks for during compilation.
$ sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
Step 6:
Edit the setup_posix.py and change the following
mysql_config.path = "mysql_config"
to
mysql_config.path = "/usr/local/mysql/bin/mysql_config"
Step 7:
In the same directory, rebuild your package (ignore the warnings that comes with it)
$ sudo python setup.py build
Step 8:
Install the package and you are done.
$ sudo python setup.py install
Step 9:
Test if it's working. It works if you can import MySQLdb.
$ python
>>> import MySQLdb
Voila.
References:
n.code
RedElephant
Django users Google Groups


May 15th, 2009 at 6:48 am
thank you good share
April 29th, 2009 at 4:17 pm
http://sourceforge.net/forum/message.php?msg_id=5808948
This link fixed my issue above.
It’s also good to make sure that if you build your own version of Python that you update all of the SymLinks.
April 28th, 2009 at 11:29 pm
OSX Server 10.5… any ideas. I get the following warning. Is that a bad thing or is this a harmless warning.
Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39)
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import MySQLdb
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/MySQL_python-1.2.2-py2.6-macosx-10.3-fat.egg/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated
>>>
April 28th, 2009 at 1:18 pm
Correction, simply doesn’t work with MAMP. Instructions work fine with 10.5.6 once I junked MAMP.