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 upDjango 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
###############
the problem:
_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)")
the way:
1。将/fgn/services/mysql/lib/mysql/从第2行调整到第1行
vim /etc/ld.so.conf
/fgn/services/mysql/lib/mysql/
include ld.so.conf.d/*.conf
2。ldconfig 重载动态链接库