python之mysqldb模块安装
之所以会写下这篇日志,是因为安装的过程有点虐心。目前这篇文章是针对windows操作系统上的mysqldb的安装。安装python的mysqldb模块,首先当然是找一些官方的网站去下载:https://pypi.python.org/pypi/MySQL-python。下载后,cmd进入MySQL-python-1.2.3文件夹,按常规的执行python setup.py install 命令安装此模块,然后就报错了:
这个报错很明显,print
进行python前,应该先确定当前mysqldb的各个版本都支持python的哪些版本。部分截图如下:
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。
接着安装mysqldb,然后又报了一个错:缺少c语言的编译环境,需要去下载一个VC环境。这个其实挺好办,错误提示里本来就有下载链接(忘记截图了,抱歉)https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266,下载好VCForPython27.msi安装就不报这错了。但是报另一个错。(又忘了截图),然后觉得很有必要在MySQL-python-1.2.3文件夹下查看下readme了,里面一般都会记载着怎么安装和怎么使用。部分关于windows系统安装的重要信息翻译后截图如下:
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=
然后就能正常连接DB并访问DB了,这下我觉得应该没问题,然而安装时,又报了一个错:
E:\Code\Python\mysql>setup.py install
Traceback (most recent call last):
File "E:\Code\Python\mysql\setup.py", line , in <module>
metadata, options = get_config()
File "E:\Code\Python\mysql\setup_windows.py", line , in get_config
serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key'])
WindowsError: [Error ]
可行的解决方法:打开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
之前学习RF的时候安装过第三方库却从未如此虐心过,也有可能当时使用的本来就是低版本的python,而且当时机器上有各种程序的编译环境,但是暴露出一个问题,就是安装三方库时候没有一套通用的方法帮助快速安装,基于狗血的经历,特做以下小结:
1、安装前看下安装文件里的read me和下载页面的一些使用说明(一般作者都是会编写安装手册和test文档的,无论是哪类操作系统多多少少都是会介绍的)。
2、确定python三方库支持python的哪个版本,目前看python2.7.11还是挺好的。
3、确定三方库安装时需要哪些其他的环境和依赖的软件。
python之mysqldb模块安装的更多相关文章
- Python的MySQLdb模块安装
MySQL-python-1.2.1.tar.gz 下载地址:https://pan.baidu.com/s/1kVfH84v 然后解压,打开README(这个其实没有什么鸟用) 里面有安装过程: ...
- Python的MySQLdb模块安装,连接,操作,增删改
1. 首先确认python的版本为2.3.4以上,如果不是需要升级python的版本 python -V 检查python版本 2. 安装mysql, 比如安装在/usr/local/my ...
- 在 mac 系统上安装 python 的 MySQLdb 模块
在 mac 系统上安装 python 的 MySQLdb 模块 特别说明:本文主要参考了Mac系统怎么安装MySQLdb(MySQL-Python) 第 1 步:下载 MySQL-python-1.2 ...
- Mac MySQLdb模块安装,可算解决了
转载:http://blog.csdn.net/janronehoo/article/details/25207825 短评:这篇文章感觉是比较全面解决Mac MySQLdb模块安装问题的文章了,特别 ...
- python中MySQLdb模块用法实例
篇文章主要介绍了python中MySQLdb模块用法,以实例形式详细讲述了MySQLdb模块针对MySQL数据库的各种常见操作方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了python中 ...
- Python的第三方模块安装
python的第三方模块安装一般使用python自带的工具pip来安装. 1.在Windows下,在安装python时勾选[安装pip]和[添加python至环境变量]. 如果在python安装目录的 ...
- Python中MySQLdb模块的安装
安装 MySQLdb是Python语言访问mysql数据库的一个模块,如果你不确定自己的Python环境中是否已经安装了这个模块,可以打开Python shell,输入import MySQLdb,如 ...
- python的MySQLdb模块在linux环境下的安装
开始学习python数据库编程后,在了解了基本概念,打算上手试验一下时,卡在了MYSQLdb包的安装上,折腾了半天才解决.记录一下我在linux中安装此包遇到的问题.系统是ubuntn15.04. 1 ...
- Mac OS X 下安装python的MySQLdb模块
参考资料: mac os x下python安装MySQLdb模块 http://www.codeif.com/post/1073/ MAC OSX使用Python安装模块有关问题 http:// ...
随机推荐
- elasticsearch in docker/ and aggregation,,performance tune ;throughout
Docker环境中Elasticsearch的安装 ]https://wenchao.ren/archives/category/elasticsearch/page/2 [ElasticSearch ...
- 【实战】Docker 入门实战一:ubuntu 和 centos 安装Docker
Docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布 ...
- idea设置文件的编码格式为utf-8
file ---> settings... 然后 editor ---> file encoding 然后设置path和encoding什么的.
- 【python基础】sys
sys模块 参考: https://blog.csdn.net/qq_38526635/article/details/81739321 http://www.cnblogs.com/cherishr ...
- 【python基础】常用的内置函数
python基础之内置函数 参考: http://www.runoob.com/python/python-built-in-functions.html -zip() zip函数接受任意多个(包括0 ...
- 10.6-uC/OS-III内部任务(统计任务 OS_StatTask())
1.这个任务能够统计总的CPU使用率(0到100%),每个任务的CPU使用率( 0到100%),每个任务的堆栈使用量. 2.统计任务在uC/OS-III中是可选的,当设置OS_CFG.H中的OS_CF ...
- The iOS Simulator deployment target is set to 6.0
XCODE警告 Showing All Messages :-1: The iOS Simulator deployment target is set to 6.0, but the range o ...
- Python3学习之路~5.8 shelve模块
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式 import shelve import datetime name = [& ...
- Linux下fork机制详解(以PHP为例)
考:https://blog.csdn.net/jason314/article/details/5640969 1.fork简介 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统 ...
- 对于jquery实现原理的浅谈
关键词:prototype(原型).它能让javascript的方法(也可看成:类)能够动态地追加方法(猜测:目的是为了代码实现引入“类的思想”) 废话少说,代码见真义. <html> & ...