Chinaunix首页 | 论坛 | 博客
  • 博客访问: 166422
  • 博文数量: 73
  • 博客积分: 3106
  • 博客等级: 中校
  • 技术积分: 730
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-11 22:57
文章分类

全部博文(73)

文章存档

2018年(2)

2016年(1)

2012年(8)

2011年(21)

2010年(41)

我的朋友

分类: Python/Ruby

2010-09-19 14:21:55

安装mysqldb的模块。

解压:
[root@localhost]# tar xfz MySQL-python-1.2.3c1.tar.gz
[root@localhost]# cd MySQL-python-1.2.3c1 #进入MySQL-python目录,查看site.cfg文件的mysql-config配置,如果与实际不符合,请自行修改

[root@localhost]# python setup.py build #注意啦,这一步是一定要做的,不然就安装不成功。

[root@localhost]# python setup.py install #正式安装

然后进入:
$python
>>>import MySQLdb
搞定
一切正常,好啦.

问题1:
[root@localhost]# python setup.py build
Traceback (most recent call last):
File “setup.py”, line 5, in
from setuptools import setup, Extension
ImportError: No module named setuptools

1、下载一个文件
[root@localhost]# wget
2、运行安装 setuptools:
[root@localhost]# python ez_setup.py
3、然后build,install

PS:如果没外网
1、先运行python ez_setup.py,有个一个下载的文件。
如我这个版本:
2、去有公网的机器下载
wget “”
3、然后传到与ez_setup.py同一目录下,然后运行
[root@localhost]# python ez_setup.py

问题2:

当我在MySQLdb的源码路径build及install完,并导入模块时,发生警告:
>>> import MySQLdb
/usr/local/lib/python2.5/site-packages/MySQL_python-1.2.3c1-py2.5-linux-x86_64.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/local/lib/python2.5/site-packages/MySQL_python-1.2.3c1-py2.5-linux-x86_64.egg/_mysql.pyc, but /root/MySQL-python-1.2.3c1 is being added to sys.path
import sys, pkg_resources, imp

原因是,install后MySQLdb模块已经被放到python的site-pachages目录中;但我在当前目录也存在相同的模块,所以可能会重复导入。只要切换到其他目录运行就可以了。

问题3:

Traceback (most recent call last):
  File "setup.py", line 15, in
    metadata, options = get_config()
  File "D:\Jeffrey\Development\Software\MySQL-python-1.2.3\setup_windows.py", li
ne 7, in get_config
    serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_ke
y'])
WindowsError: [Error 2]

这一步又是google了半天,历经千辛万苦,找到下面的解决方案:

首先在setup_windows.py里看到:

    serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key'])
    mysql_root, dummy = _winreg.QueryValueEx(serverKey,'Location')

就是在注册表找不到registry_key,这是在site.cfg里定义的:

registry_key = SOFTWARE\MySQL AB\MySQL Server 5.0,按这篇文章修改了一下site.cfg成:

registry_key = SOFTWARE\MySQL AB\MySQL Server 5.5

另外一种不折腾的方法:
在google上找:"download compiled python 2.6 mysql for windows"

      直接下载那个MySQL-python-1.2.3.win32-py2.6.exe文件安装吧,简单的解决花了一晚上的时间的问题吧!

==============================================================================

问题:在输入中文时,报告1406 Data too long for column ... 或Data truncated for column 错误

解决:根据网上有人说的,mysql默认编码、请求的页面编码和sql请求编码都要以utf8,根据自己配置的经验,按照下面方式配置成功:

1、mysql安装时,要选编码utf8,如手工配置,在my.ini中如下:
    default-character-set=utf8

    说明:也可以在创建数据库时指定数据库的默认字符集

           CREATE DATABASE IF NOT EXISTS blog default charset utf8 COLLATE utf8_general_ci;

2、django中models.py文件要保存为utf8格式,如编辑器没默认设定为按此格式保存,可以通过声明方式,在第一行加入下面声明
     #coding=utf-8

3、我的settings.py语言设置,不过我认为这只是指定默认的界面呈现语言,若只为使数据库输入支持中文,应该不用设置:
    LANGUAGE_CODE = 'zh-cn'

===========================================================================

在windows下停止和启动mysql:

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqladmin -u root -p shutdown

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqladmin -u root -p start

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqld-nt --console

阅读(1631) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~