install mysql-python

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 重载动态链接库

转载于:https://my.oschina.net/YcOk14itqTKB/blog/10913

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值