第一个django项目筹建过程

第一个django项目搭建过程
作者:zccst


安装python(linux下已经自带,但常常需要升级)
安装django
启动django,这些过程都很顺利,但后面遇到报错

在执行python manag.py syncdb时报错如下:
Error loading MySQLdb module: No module named MySQLdb

一、python MySQLdb安装和使用
MySQLdb是Python连接MySQL的模块,下面介绍一下源码方式安装MySQLdb:
1. 首先要下载下载:请到官方网站http://sourceforge.net/projects/mysql-python/或者点击链接下载http://downloads.sourceforge.net/project/mysql-python/mysql-python-test/1.2.3c1/MySQL-python-1.2.3c1.tar.gz?use_mirror=nchc
2. 解压:tar zxvf MySQL-python*
3. 进入文件目录,运行以下命令:
python setup.py install
4. 安装完成,到你的python安装目录下的site-packages目录里检查以下文件是否存在,如果存在即代表安装成功了
Linux:MySQL_python-1.2.3c1-py2.6-linux-i686.egg
Mac OS X:MySQL_python-1.2.3c1-py2.6-macosx-10.4-x86_64.egg


问题1:如果碰到mysql_config not found的问题,有两种方法解决:
1)ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
将mysql_confi从你的安装目录链接到/usr/local/bin目录下,这样就可以在任意目录下访问了(也可以放到/usr/bin)

2)编辑源码文件夹的site.cfg文件,去掉#mysql_config = /usr/local/bin/mysql_config前的注释#,修改后面的路径为你的mysql_config真正的目录就可以了。(如果不知道mysql_config在哪里,运行命令:whereis mysql_config)


问题2:ImportError: No module named setuptools 解决方案
http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
python setup.py install


问题3:如果碰到import error: libmysqlclient.so.16: cannot open shared object file: No such file or directory
     解决方法: locate or find libmysqlclient.so.16
     link path/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.16
     vi /etc/ld.so.conf    //加入libmysqlclient.so.16 所在的目录
     插入: /usr/lib/
     保存退出后执行/sbin/ldconfig生效
我的解决办法:
先下载libmysqlclient.so.16,然后复制到/usr/lib/下,照上面做法还是报错。

后来,发现libmysqlclient.so.16在mysql的安装目录下。ln -s /**/mysql/lib/mysql/libmysqlclient_r.so.16 /usr/lib (囧,我竟然看成libmysqlclient_r.so.16,难怪出错)

最终解决方法是:
vi /etc/ld.so.conf #加入mysql目录(也可以先软连接到/usr/lib下,但名字别看错了)
/sbin/ldconfig     #执行生效


测试方法
1)运行命令python进入python运行环境
2)输入以下python代码进行测试
import MySQLdb
test=MySQLdb.connect(db='mydb',host='myhost',user='u',passwd='p')
cur = test.cursor()
cur.execute('show databases;')
for data in cur.fetchall():
    print data

3)如果你在屏幕上看到了你几个数据库的库名的输出代表你安装成功了





再python manang.py syncdb就创建成功了。