您的位置:首页 > 编程语言 > Python开发

关于安装mysql-python报错的问题总结

2018-02-25 12:57 1616 查看
C:\Users\Administrator\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 "-I

C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include
------------------------------------------------------------

" -Ic:\software\python27\include -Ic:\software\python27\PC /Tc_mysql.c /Fobuild\temp.win-amd64-2.7\Release\_mysql.obj /Zl
_mysql.c
_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory
error: command 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2


首先需要清楚,MySQL-python这个模块其实是封装了MySQL C驱动的Python驱动,所以它是需要依赖于mysql connector C!!!

在安装MySQL-python模块时,如果电脑中没有事先安装mysql connector C,请移步至mysql connector c,下载mysql的C语言连接器。打开界面可以看到有32位的和64位的:



这个时候选择下载可不是根据你的操作系统来下载的,而是根据刚刚安装MySQL-python的报错信息来下载的,从报错信息里面可以看到,在查询config_win.h文件是从C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include,目录下查找的,32位的软件一般都会装在这个目录(Program Files (x86))下,一般64位的软件默认直接装在Program Files目录下,所以直接下载32位6.0.2的版本安装的即可,安装完成后,再次尝试重新安装MySQL-python模块。

一般情况下,就可以安装成功,并且可以导入使用了



可以看到没有报错,可以正确导入,接下来我们就可以正常使用这个模块了。

凡事都有万一,如果你很不幸,出现了跟我在另一台电脑安装时一样的错误,这我就无能为力了,错误信息如下:

C:\Users\Administrator\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\link.exe /DLL /nologo /INCREMENTAL:NO "/LIBPATH:C:\Pr
ogram Files (x86)\MySQL\MySQL Connector C 6.0.2\lib\opt" /LIBPATH:c:\software\python27\libs /LIBPATH:c:\software\python27\PCbuild\amd64 /LIBPATH:c:\software\py
thon27\PC\VS9.0\amd64 kernel32.lib advapi32.lib wsock32.lib mysqlclient.lib /EXPORT:init_mysql build\temp.win-amd64-2.7\Release\_mysql.obj /OUT:build\lib.win-a
md64-2.7\_mysql.pyd /IMPLIB:build\temp.win-amd64-2.7\Release\_mysql.lib /MANIFESTFILE:build\temp.win-amd64-2.7\Release\_mysql.pyd.manifest
_mysql.obj : warning LNK4197: export 'init_mysql' specified multiple times; using first specification
Creating library build\temp.win-amd64-2.7\Release\_mysql.lib and object build\temp.win-amd64-2.7\Release\_mysql.exp
_mysql.obj : error LNK2019: unresolved external symbol mysql_error referenced in function _mysql_Exception
_mysql.obj : error LNK2019: unresolved external symbol mysql_errno referenced in function _mysql_Exception
_mysql.obj : error LNK2019: unresolved external symbol mysql_server_init referenced in function _mysql_server_init
_mysql.obj : error LNK2019: unresolved external symbol mysql_server_end referenced in function _mysql_server_end
_mysql.obj : error LNK2019: unresolved external symbol mysql_thread_safe referenced in function _mysql_thread_safe
_mysql.obj : error LNK2019: unresolved external symbol mysql_fetch_fields referenced in function _mysql_ResultObject_Initialize
_mysql.obj : error LNK2019: unresolved external symbol mysql_num_fields referenced in function _mysql_ResultObject_Initialize
_mysql.obj : error LNK2019: unresolved external symbol mysql_field_count referenced in function _mysql_ResultObject_Initialize
_mysql.obj : error LNK2019: unresolved external symbol mysql_store_result referenced in function _mysql_ResultObject_Initialize
_mysql.obj : error LNK2019: unresolved external symbol mysql_use_result referenced in function _mysql_ResultObject_Initialize
_mysql.obj : error LNK2019: unresolved external symbol mysql_real_connect referenced in function _mysql_ConnectionObject_Initialize
_mysql.obj : error LNK2019: unresolved external symbol mysql_ssl_set referenced in function _mysql_ConnectionObject_Initialize
_mysql.obj : error LNK2019: unresolved external symbol mysql_options referenced in function _mysql_ConnectionObject_Initialize
_mysql.obj : error LNK2019: unresolved external symbol mysql_init referenced in function _mysql_ConnectionObject_Initialize
_mysql.obj : error LNK2019: unresolved external symbol mysql_close referenced in function _mysql_ConnectionObject_close
_mysql.obj : error LNK2019: unresolved external symbol mysql_affected_rows referenced in function _mysql_ConnectionObject_affected_rows
_mysql.obj : error LNK2019: unresolved external symbol mysql_debug referenced in function _mysql_debug
_mysql.obj : error LNK2019: unresolved external symbol mysql_dump_debug_info referenced in function _mysql_ConnectionObject_dump_debug_info
_mysql.obj : error LNK2019: unresolved external symbol mysql_autocommit referenced in function _mysql_ConnectionObject_autocommit
_mysql.obj : error LNK2019: unresolved external symbol mysql_commit referenced in function _mysql_ConnectionObject_commit
_mysql.obj : error LNK2019: unresolved external symbol mysql_rollback referenced in function _mysql_ConnectionObject_rollback
_mysql.obj : error LNK2019: unresolved external symbol mysql_next_result referenced in function _mysql_ConnectionObject_next_result
_mysql.obj : error LNK2019: unresolved external symbol mysql_set_server_option referenced in function _mysql_ConnectionObject_set_server_option
_mysql.obj : error LNK2019: unresolved external symbol mysql_sqlstate referenced in function _mysql_ConnectionObject_sqlstate
_mysql.obj : error LNK2019: unresolved external symbol mysql_warning_count referenced in function _mysql_ConnectionObject_warning_count
_mysql.obj : error LNK2019: unresolved external symbol mysql_escape_string referenced in function _mysql_escape_string
_mysql.obj : error LNK2019: unresolved external symbol mysql_real_escape_string referenced in function _mysql_escape_string
_mysql.obj : error LNK2019: unresolved external symbol mysql_fetch_lengths referenced in function _mysql_row_to_tuple
_mysql.obj : error LNK2019: unresolved external symbol __imp_strncat referenced in function _mysql_row_to_dict
_mysql.obj : error LNK2019: unresolved external symbol __imp_strncpy referenced in function _mysql_row_to_dict
_mysql.obj : error LNK2019: unresolved external symbol memset referenced in function _mysql_row_to_dict_old
_mysql.obj : error LNK2019: unresolved external symbol mysql_fetch_row referenced in function _mysql__fetch_row
_mysql.obj : error LNK2019: unresolved external symbol mysql_num_rows referenced in function _mysql_ResultObject_fetch_row
_mysql.obj : error LNK2019: unresolved external symbol mysql_change_user referenced in function _mysql_ConnectionObject_change_user
_mysql.obj : error LNK2019: unresolved external symbol mysql_character_set_name referenced in function _mysql_ConnectionObject_character_set_name
_mysql.obj : error LNK2019: unresolved external symbol mysql_set_character_set referenced in function _mysql_ConnectionObject_set_character_set
_mysql.obj : error LNK2019: unresolved external symbol mysql_get_character_set_info referenced in function _mysql_ConnectionObject_get_character_set_info
_mysql.obj : error LNK2019: unresolved external symbol mysql_get_client_info referenced in function _mysql_get_client_info
_mysql.obj : error LNK2019: unresolved external symbol mysql_get_host_info referenced in function _mysql_ConnectionObject_get_host_info
_mysql.obj : error LNK2019: unresolved external symbol mysql_get_proto_info referenced in function _mysql_ConnectionObject_get_proto_info
_mysql.obj : error LNK2019: unresolved external symbol mysql_get_server_info referenced in function _mysql_ConnectionObject_get_server_info
_mysql.obj : error LNK2019: unresolved external symbol mysql_info referenced in function _mysql_ConnectionObject_info
_mysql.obj : error LNK2019: unresolved external symbol mysql_insert_id referenced in function _mysql_ConnectionObject_insert_id
_mysql.obj : error LNK2019: unresolved external symbol mysql_kill referenced in function _mysql_ConnectionObject_kill
_mysql.obj : error LNK2019: unresolved external symbol mysql_ping referenced in function _mysql_ConnectionObject_ping
_mysql.obj : error LNK2019: unresolved external symbol mysql_real_query referenced in function _mysql_ConnectionObject_query
_mysql.obj : error LNK2019: unresolved external symbol mysql_select_db referenced in function _mysql_ConnectionObject_select_db
_mysql.obj : error LNK2019: unresolved external symbol mysql_shutdown referenced in function _mysql_ConnectionObject_shutdown
_mysql.obj : error LNK2019: unresolved external symbol mysql_stat referenced in function _mysql_ConnectionObject_stat
_mysql.obj : error LNK2019: unresolved external symbol mysql_thread_id referenced in function _mysql_ConnectionObject_thread_id
_mysql.obj : error LNK2019: unresolved external symbol __imp_sprintf referenced in function _mysql_ConnectionObject_repr
_mysql.obj : error LNK2019: unresolved external symbol mysql_data_seek referenced in function _mysql_ResultObject_data_seek
_mysql.obj : error LNK2019: unresolved external symbol mysql_row_seek referenced in function _mysql_ResultObject_row_seek
_mysql.obj : error LNK2019: unresolved external symbol mysql_row_tell referenced in function _mysql_ResultObject_row_seek
_mysql.obj : error LNK2019: unresolved external symbol mysql_free_result referenced in function _mysql_ResultObject_dealloc
LINK : error LNK2001: unresolved external symbol _DllMainCRTStartup
build\lib.win-amd64-2.7\_mysql.pyd : fatal error LNK1120: 56 unresolved externals
error: command 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\link.exe' failed with ex
it status 1120


给我的感觉像是编译链接的问题,能力有限,不知道怎么解决!!!

不过凡事都有一线生机呀,网上有一个mysql-python的安装程序,需要的可以直接下载安装即可下载网页,多亏了网上一个哥们提供了连接,不然都不知道怎么才好,总不能重做系统吧。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: