代码改变世界

python 安装 mysql-python遇到的问题

2016-05-06 10:19  TRACEING  阅读(2164)  评论(0编辑  收藏  举报

先通过 pip install mysql-python 报错

 

后来下载安装,报错:

File "setup.py", line 15, in <module>

   metadata, options = get_config()

 File "F:\devtools\MySQL-python-1.2.3\setup_windows.py", line7, in get_config

   serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options[' registry_ke

y'] )

WindowsError: [Error 2] The system cannotfind the file specified

 

下载地址:https://pypi.python.org/pypi/MySQL-python/

下载MySQL-python-1.2.5.zip 文件之后直接解压。进入MySQL-python-1.2.5目录:

>>python setup.py install

 

解决方法:

其实分析代码,发现只是寻找mysql的安装地址而已  修改setup_windows.py如下

注解两行,加入一行,为第一步mysql的安装位置

 

   #serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,options['registry_key'] )

   #mysql_root, dummy = _winreg.QueryValueEx(serverKey,'Location')

   mysql_root = r"F:\devtools\MySQL\MySQL Server 5.5"

 

然后报错: Unable to find vcvarsall.bat

  

最后去

加州大学 欧文分校的Christoph Gohlke提供了大量python非官方 插件模块安装包:
www.lfd.uci.edu/~gohlke/pythonlibs/

 

还是有问题,

在虚拟环境中手工又装了一遍mysql_python, 报错如下:

error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get
it from http://aka.ms/vcpython27

下载安装vcpython27后,报错:

_mysql.c(34) : fatal error C1083: Cannot open include file: 'config-win.h': No s
uch file or directory

 

1)问题 : _mysql.c(34) : fatal error C1083: Cannot open include file: ‘config-win.h’: No such file or directory
error: command ‘”C:/Program Files/Microsoft Visual Studio 9.0/VC/BIN/cl.exe”‘ failed with exit status 2

原因 :原因是安装MySQL的时候没有安装C语言库。

解决 :重新运行MySQL的安装程序,选择Modify,把“C Include Files / Lib Files”勾选上,并安装。

检查已经安装上了。

继续解决

 

 

 

报错:

LINK : fatal error LNK1181: cannot open input file 'mysqlclient.lib'
error: command '"C:\Users\pccw\AppData\Local\Programs\Common\Microsoft\Visual C+
+ for Python\9.0\VC\Bin\link.exe"' failed with exit status 1181

解决方法:

可能会出现找不到 config-win.h的提示,我的MySQL的版本是5.6.13
对于这个问题,首先检查MySQL-python 1.2.5目录下的site.cgf文件
#connector = C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2
connector = C:\Program Files (x86)\MySQL\MySQL Connector C 6.1
connector的配置是否正确,如果跟自己系统的情况不符,改成你系统的实际目录
如果没有安装 MySQL-connector,去MySQL网站上下载安装。
其次,修改_mysql.c文件
把包含config-win.h修改成my_config.h
//#include <config-win.h>
#include <my_config.h>
OK,编译,如果后面提示mysqlclient.lib找不到。
把setup_window.py的下面一句修改
library_dirs = [ os.path.join(mysql_root, r'lib\opt') ]
指向正确的mysqlclient.lib路径,我的系统的路径是
library_dirs = [ os.path.join(mysql_root, r'lib\vs10') ]

记得mysql_root的路径也要改,mysql_root=r"C:\Program Files\MySQL\MySQL Connector.C 6.1"
再编译OK。