之因此会写下这篇日志,是由于安装的过程有点虐心。目前这篇文章是针对windows操做系统上的mysqldb的安装。安装python的mysqldb模块,首先固然是找一些官方的网站去下载:https://pypi.python.org/pypi/MySQL-python。下载后,cmd进入MySQL-python-1.2.3文件夹,按常规的执行python setup.py install 命令安装此模块,而后就报错了:python
这个报错很明显,printmysql
进行python前,应该先肯定当前mysqldb的各个版本都支持python的哪些版本。部分截图以下:sql
mysql-python1.2.5是当前最新的一个版本,这个版本支持mysql3.23-5.5,python2.4-2.7的,不支持python3系列。介于安装时当前系统的python是3.7.11的,在卸载的时候,报错了:
there is a problem with this windows installer package.A programe run as part of the setupdid not finish as expected.Contact your support personnel or package vendor.
估计这个问题多是文件缺损致使的,因而尝试了网上说的一些解决方法:
方法一:从新运行安装程序,选择repair,修复完再卸载。(结果:无用,repair的时候报另一个网络异常错误)
方法二:安装一个其余版本的python,再卸载python3.7.11.(结果:无用,安装新的版本产生的文件不会修复老版本文件的缺失)
方法三:删除注册表的信息,或者使用Your Unin-staller!强制删除python3.7.11.(结果:终于给删除成功了,ps:http://wenku.baidu.com/link?url=dujEO65nXySNvwUyDJVR5kmbrlcqp7WsvhLFGN_7L5q-58EoVjyw4DjiTS_J5PomPzgvdG69uulXDI8TbMgJlXk9Y-ayHs8qOD3Z3AomBU7,连接里有产品注册)
以上3个解决方法只有第三个最暴力的方法解决个人问题,前面2种有些网友都能使用,操做后也能解决问题。卸载高版本的python后,终于装上了低版本的python。windows
接着安装mysqldb,而后又报了一个错:缺乏c语言的编译环境,须要去下载一个VC环境。这个其实挺好办,错误提示里原本就有下载连接网络
https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266,python2.7
执行pip install mysql-python
报错工具
下载C++编译器学习
下载好VCForPython27.msi安装就不报这错了。可是报另外一个错。(又忘了截图),而后以为颇有必要在MySQL-python-1.2.3文件夹下查看下readme了,里面通常都会记载着怎么安装和怎么使用。部分关于windows系统安装的重要信息翻译后截图以下:fetch
Windows....... 我不作Windows。 可是若是有人给我提供了一个包Windows,我会使它可用。 不要问我有关Windows的帮助由于我不能帮助你。 通常来讲,运行setup.py与上面相似:: C:\ ...> python setup.py install C:\ ...> python setup.py bdist_wininst 后面的示例应该构建一个Windows安装程序包,若是你有正确的工具。 不管如何,你必须有一个C编译器。另外,你必须设置一个环境变量(mysqlroot)这是MySQL安装的路径。 在理论上,它会的可能从注册表中获取这些信息,可是像我说的,
我不作Windows,但我会接受这样作的补丁。
在Windows上,您确定必须编辑site.cfg,由于有在MySQL包中没有mysql_config。 网站
而后开始默默的安装mysql,去官网下了个5.5.7版本的,安装验证链接DB时一直报错:ERROR 1045 (28000): Access denied for user 'mysql'@'localhost' (using password: NO)
这个百度下,在安装文件夹的my.ini里增长skip-grant-tables就能够了
[mysqld] skip-grant-tables # The TCP/IP Port the MySQL Server will listen on port=3306
而后就能正常链接DB并访问DB了,这下我以为应该没问题,然而安装时,又报了一个错:
E:\Code\Python\mysql>setup.py install Traceback (most recent call last): File "E:\Code\Python\mysql\setup.py", line 15, in <module> metadata, options = get_config() File "E:\Code\Python\mysql\setup_windows.py", line 7, in get_config serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key']) WindowsError: [Error 2]
可行的解决方法:打开setup_windows.py,而后将注册表操做的两行代码注释掉,并添加一行代码:
#serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key']) #mysql_root, dummy = _winreg.QueryValueEx(serverKey,'Location') mysql_root = "C:\Program Files\MySQL\MySQL Server 5.5" #MySQL目录
而后接着安装,又报了一个错:
可行的解决方法:下载MySQL Connector(地址:http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.0.2-win32.msi/from/http://ftp.jaist.ac.jp/pub/mysql/ ),而后修改setup_windows.py的代码:
#serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key']) #mysql_root, dummy = _winreg.QueryValueEx(serverKey,'Location') mysql_root = "C:\Program Files\MySQL\MySQL Connector C 6.0.2" #MySQL Connector C 6.0.2目录<span style="color:#ff0000;"> /span>
接着执行安装,天啊,终于成功了。
import MySQLdb if __name__ == "__main__": test= MySQLdb.connect("localhost","root","root1234","mysql" ) cur = test.cursor() cur.execute('show databases;') for data in cur.fetchall(): print data
打印结果以下:
D:\Python27\python.exe D:/untitled/mysql_test.py ('information_schema',) ('mysql',) ('performance_schema',) ('test',) Process finished with exit code 0
以前学习RF的时候安装过第三方库却从未如此虐心过,也有可能当时使用的原本就是低版本的python,并且当时机器上有各类程序的编译环境,可是暴露出一个问题,就是安装三方库时候没有一套通用的方法帮助快速安装,基于狗血的经历,特作如下小结:
一、安装前看下安装文件里的read me和下载页面的一些使用说明(通常做者都是会编写安装手册和test文档的,不管是哪类操做系统多多少少都是会介绍的)。
二、肯定python三方库支持python的哪一个版本,目前看python2.7.11仍是挺好的。
三、肯定三方库安装时须要哪些其余的环境和依赖的软件。
注释:转载他处