Python2.7 安装 MySQL-python-1.2.3模块

目录

在配置SAE Python环境时,安装MySQLdb 1.2.3遇到问题,提示get_config函数出错。

in get_config
serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options[‘registry_key’])
WindowsError: [Error 2] The system cannot find the file specified

这是由于注册表中没找到相应项。按照 《编译python2的MySQLDB插件过程》这篇文章修改后会出现找不到config-win.h头文件的错误。
_mysql.c(34) : fatal error C1083: 无法打开包括文件:“config-win.h”: No such fe or directory
这是因为MySQLdb1.2.3针对MySQL5.0版本,而我现在安装的是MySQL5.6版本。这篇文章《Install MySQL-python-1.2.3 with python2.7, mysql5.6 on seven》给出了可行的解决方案:

  1. 在 MySQL\MySQL Server 5.6\lib目录中, 创建_opt_子目录,并将MySQL\MySQL Server 5.6\lib\mysqlclient.lib拷贝到这个目录下。
  2. 在MySQL\MySQL Server 5.6\include下,将_my_config.h_复制为_config-win.h_
  3. 在MySQL-python-1.2.3\site.cfg文件中, 进行如下修改 : registry_key = SOFTWARE\MySQL AB\MySQL Server 5.6
  4. 在MySQL-python-1.2.3\setup_win.py_中, 修改第七行:_ serverKey = _winreg.OpenKey(winreg.HKEY__CURRENT__USER, options[‘registry_key’])
  5. 在_HKEY__CURRENT_USER\Software\MySQL AB\MySQL Server 5.6 中添加注册表REG_SZ键,名字:_Location,_值为MySQL Server 5.6的安装目录

如此修改后,先运行python setup.py build,再运行python setup.py install即可安装mysql-python模块。

问题

后续再使用如上方法编译MySQLdb时,发现有时无法编译成功,出现LINK错误。采用这篇文章《学习笔记 2012/02/24.Windows下安装mysql-python(MySQLdb)诺干问题及解决方法》提到的终极大法:
使用安装包在本机上安装MySQLdb,把site-packages下安装的文件及文件夹拷贝到相应的virtualenv目录下,可以直接使用,而不用安装。
还是使用linux方便,windows开发web太痛苦。