要跑一个python项目,需要连接mysql数据库, 所以需要安装MySqlDB, 以为是很简单的事,但实际上在64位的win7下安装,问题一大堆,总算经过网上搜索,安装成功了.
总的安装步骤:
python--> regsiter.py --> setuptools-0.6c11.win32-py2.7.exe -->MySQL-python-1.2.3.win32-py2.7.exe
安装完以上内容,最后运行自己的python项目成功。
以下内容都是在网上找了方法,仅作笔记,供下次使用,
一. 安装 python 2.7.
这个比较简单,只要到官网上下载python, 然后安装就可以了。
需要注意两点:
1. python目前已出到3.x,但是据说跑3.X会有很多问题,所以目前大部份人还是喜欢用2.x的版本
2. 安装完python后,需要把安装路径加到path中。
二. 安装SetupTools
如果你不先安装SetupTools而是直接安装MySQLdb,那么很有可能会提示如下错误:
官网上的下载地址是 :http://pypi.python.org/pypi/setuptools,这个网页会推荐你下载ez_setup.py这个文件, 然后用python来执行,它就会自动下载并安装好,但是实际安装过程,这个耗时较长,最后安装也失败了,日志:
然后看到网上说有用exe进行安装的,就找到了这个EXE:setuptools-0.6c11.win32-py2.7.exe
下载地址: https://pypi.python.org/packages/2.7/s/setuptools/
安装的时候出现错误,说需要python2.7, 但实际上我已安装好python,然后又是到网上一通乱找,最后这往篇文章解决了问题: http://www.cnblogs.com/min0208/archive/2012/05/24/2515584.html
内容:
安装setuptools的时候,不能再注册表中识别出来python2.7
方法:新建一个register.py 文件,把一下代码贴进去,保存(G盘)
# # script to register Python 2.0 or later for use with win32all # and other extensions that require Python registry settings # # written by Joakim Loew for Secret Labs AB / PythonWare # # source: # http://www.pythonware.com/products/works/articles/regpy20.htm # # modified by Valentine Gogichashvili as described in http://www.mail-archive.com/distutils-sig@python.org/msg10512.html import sys from _winreg import * # tweak as necessary version = sys.version[:3] installpath = sys.prefix regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version) installkey = "InstallPath" pythonkey = "PythonPath" pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % ( installpath, installpath, installpath ) def RegisterPy(): try: reg = OpenKey(HKEY_CURRENT_USER, regpath) except EnvironmentError as e: try: reg = CreateKey(HKEY_CURRENT_USER, regpath) SetValue(reg, installkey, REG_SZ, installpath) SetValue(reg, pythonkey, REG_SZ, pythonpath) CloseKey(reg) except: print "*** Unable to register!" return print "--- Python", version, "is now registered!" return if (QueryValue(reg, installkey) == installpath and QueryValue(reg, pythonkey) == pythonpath): CloseKey(reg) print "=== Python", version, "is already registered!" return CloseKey(reg) print "*** Unable to register!" print "*** You probably have another Python installation!" if __name__ == "__main__": RegisterPy()
输入以下命令(register.py 存放在 G盘底下)
显示“python 2.7 is already registered”
再安装setuptools的时候,就能自动识别出来python2.7了。
win7是 64的原因,在安装python(32位)时,如果选择只为当前用户,以上问题是不会出现的,如果选择所有用户,那就用上面的方法解决吧。
三. 安装MySqlDB.
下载:https://pypi.python.org/pypi/MySQL-python#downloads
下载完后,发现解压包里没有EXE,就按照大家说的步骤用Python来安装:
执行如下命令:setup.py build
得到错误:
E:\Code\Python\mysql>setup.pybuild
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]
然后又是在网上一通查找,试了N多方法,最后这个文章解决了问题:http://www.cnblogs.com/rollenholt/archive/2011/08/06/2129641.html
win32用户只需下载MySQL-python-1.2.3.win32-py2.7.exe (1,023.1 KiB)
win64用户只需下载 MySQL-python-1.2.3.win-amd64-py2.7.exe (1.0 MiB)
然后双击就行,呵呵。
对于python2.7,大家可以去这里http://www.codegood.com/archives/129 下载
对于python2.6,大家可以去http://www.codegood.com/archives/4下载。
最后在shell中测试一下:
>>>import MySQLdb
结果没问题