`
MyEyeOfJava
  • 浏览: 1125563 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7af2d6ca-4fe1-3e9a-be85-3f65f7120bd0
测试开发
浏览量:70211
533896eb-dd7b-3cde-b4d3-cc1ce02c1c14
晨记
浏览量:0
社区版块
存档分类
最新评论

转载python mysql数据库连接

阅读更多

Windows xp 下安装MySQLdb 昨天在Windows XP下安装MySQLdb模块,安装了一天,弄得我很是郁闷,到晚上的时候终于安装成功。先将过程和结果记录下来。我的Python是2.6的。

1. mysql版本。首先我的mysql版本是4.1的。在安装mysql4.1,出现了很多的问题。Google了一下,现在mysql用的比较多是5.1 版本,最终我就下了一个MySQL5.1.34ForWindows安装版x32.rar(这个迅雷上就有)。安装mysql主要注意的是在:(1)在 Windows防火墙中的“例外”添加tcp3306端口,否则连不上; (2)如果时卸载后再装,最后的办法是将mysql清理干净,并为了保险起见,在命令下停止mysql服务,方法是net stop mysql。这两个问题是我经常碰到的。

2. MySQLdb版本。MySQL-python-1.2.2.win32-py2.6.exe 。因为我用的是Python版本是2.6,在http://sourceforge.net/projects/mysql-python,就找不到对应 的版本,我就下了MySQL-python-1.2.3c1.tar.gz来安装。这个过程很郁闷,因为出现四大主要的错误。

(1)缺少setuptools模块。这个很好办,去下载一个就是的。安装好。

(2)然后是安装MySQLdb。在Python setup.py install后,出现serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key']) WindowsError: [Error 2]错误。按照http://alva.tabex.org/2009/06/20/python-26-mysqldb-12-mysql51%E5 %AE%89%E8%A3%85/所示的方法去解决(那个时候我的MySQL版本是4.1),还是出现(3)的错误。我看他用的是MySQL5.1,所以 我不管了,直接下了MySQL5.1.34ForWindows安装版x32.rar来用,安装之,这个过程就出现了1.所示的各中状况,最后终于解决 了。

(3)然后import MySQLdb。出现File "C:\Python26\lib\site-packages\MySQLdb\__init__.py", line 19, in ImportError: DLL load failed: 找不到指定的模块。查找了一下各位高人的经验,发现是缺少2个dll文件分别为 libguide40.dll和libmmd.dll。这两个文件迅雷上就有,下载之,然后复制到 WINDOWS\system32 。这个问题就这样解决了。

(4)然后import MySQLdb。再出现sys:1: DeprecationWarning: the sets module is deprecated 的错误,再次搜索,原因是2.6不知sets这个模块,不过已经添加了set内置函数。找到MySQLdb文件夹的中__init__.py,注释掉 from sets import ImmutableSet class DBAPISet(ImmutableSet):添加class DBAPISet(frozenset):;找到converters.py注释掉from sets import BaseSet, Set。然后修改第45行和129行中的Set为set。 最终所有问题解决了,导入成功。已经耗费了我一整天时间。

Python 中的 setuptools 简介

setuptools 是一组 Python 的 distutils 工具的增强工具(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况。

由 setuptools 创建和发布的包看起来和基于 distutils 发布的包没什么不同。最终用户不需要事先安装 setuptools 甚至根本不需要知道 setuptools 的存在,而程序员也不需要附上完整的 setuptools,只需要包含一个大小约 8K 的 .py 脚本作为启动模块,就可以在最终用户没有安装适当版本的 setuptools 时让这些包自动下载和安装 setuptools。 特性 在构建时使用 EasyInstall 工具自动查找、下载、安装、升级所依赖的软件包,EasyInstall 支持通过 HTTP、 FTP、 Subversion 以及 SuroceForge 下载软件包,并能自动扫描 PyPI 上的网页以找到下载链接。(对于熟悉 Perl 的用户, PyPI 是 Python 领域最接近的 CPAN 了。) 创建 Python Eggs,一种单文件的可导入的发布格式。在包中的目录中可以包含数据文件,允许代码访问这些数据文件。(Python 2.4 distutils 也支持这个特性,不过 setuptools 能为面向 Python 2.3 的包也提供这样的特性,此外还支持访问压缩包中的数据。) 自动包含程序员的源代码树中的所有包,而不需要在独立的 setup.py 中逐个声明。自动在源代码发布中包含所有相关的文件,而无需创建 MANIFEST.in 文件,也不必在源代码树改变后强制生成 MANIFEST。自动为程序员项目中的任意数量的“main”函数生成封装脚本或者 Windows (控制台或者图行用户界面) .exe 文件。(注:这并不是 py2exe 的替代方案;这里生成的 .exe 需要基于已安装的 Python,而 py2exe 则不需要。) 透明的 Pyrex(Pyrex 允许程序员编写混合 Python 和 C 数据类型的代码,并编译为 Python 的 C 扩展。)支持,这样程序员的 setup.py 得以列出 .pyx 文件并且即使最终用户没有安装 Pyrex 也能够运行(当然这需要程序员在源代码发布包中包含 Pyrex 生成的 C 代码)。对创建命令行别名的支持,setuptools 可以帮助程序员为发布包创建项目需要的、每个用户或者全局的快捷方式,这通常用于命令行或选项中。上传发布包到 PyPI 的支持,setuptools 可以帮助程序员将源码包或者 eggs 发布到 PyPI 上。可以以“开发模式”发布程序员的项目,这样它可以出现在 sys.path 中,而程序员依然可以直接编辑源代码的工作副本。方便的为 distutils 扩展新功能或者 setup() 参数,并能够发布可供不同的项目重复使用的扩展包,而无需复制代码。创建具有自动发现扩展功能的可扩展的应用程序或框架,只要在项目的安装脚本中简单的声 明“入口点(entry points)”即可。安装 使用 ez_setup.py 安装 这是 setuptools 自豪的一种安装方式,只需要一个大约 8K 作为的脚本,就能自动为用户安装包括 setuptools 自身在内的许多 Python 包。使用这种方式,用户只需要下载 ez_setup.py 并运行,就可以自动下载和安装适合用户当前 Python 版本的适当的 setuptools egg 文件(当然,用户需要 Python 2.3.5 以上的版本,64 位操作系统的用户则需要 Python 2.4 以上的版本)。此外,这段脚本还会将可执行的 easy_install 脚本安装到用户所有的操作系统 Python 可执行脚本正常应该安装的位置(例如,Windows 用户会安装到 Python 安装目录下的 Scripts 目录中)。关于这种安装方法的详细说明和注意事项,请参考其官方说明。 使用完整的安装包安装 尽管上面的方法是 setuptools 引以自豪的,不过,我认为它更适合基于 setuptools 发布产品的开发人员。当然,用户也可以使用 setuptools 在 Python Cheese Shop 上发布的合适的完整的发布版本来安装。对于使用 Windows 的用户,这可能是更方便的方法,至少在编写这段文字的时候,setuptools-0.6c5.win32-py2.5.exe 可能正是您想要的。 许多 Linux 发行版的官方包管理仓库都包含 setuptools 的某个版本。例如,对于 Ubuntu 用户,安装 setuptools 只是简单的进行如下操作: # apt-get install python-setuptools 参考连接 setuptools 官方文档 - 关于 setuptools 的官方信息,主要面向开发人员。 Python Cheese Shop 上的 setuptools 页面 - 你可以在这里下载最新的安装版本,如 setuptools-0.6c5.win32-py2.5.exe。 ez_setup.py 源代码(0.6c5) view plaincopy to clipboardprint? 来源:http://xuecan.blogspot.com/2007/05/python-setuptools.html

分享到:
评论
1 楼 MyEyeOfJava 2011-02-21  
http://www.pythonid.com/archiver/?tid-13203.html

相关资料

相关推荐

Global site tag (gtag.js) - Google Analytics