Windows下安裝python MySQLdb遇到的問題及解決方法
片頭語:因?yàn)楣ぷ餍枰?,在CentOS上搭建環(huán)境MySQL+Python+MySQLdb,個(gè)人比較習(xí)慣使用Windows系統(tǒng)的操作習(xí)慣,對(duì)純字符的OS暫時(shí)還不太習(xí)慣,所以,希望能在Windows系統(tǒng)上也搭建一個(gè)類似的環(huán)境,用于開發(fā)。下面介紹的是在Windows環(huán)境下編譯MySQLdb的過程。補(bǔ)充一句:最近在網(wǎng)上搜索到一個(gè)MySQLdb的Windows安裝包,使用起來會(huì)更方便一些,地址:http://www.codegood.com/archives/4
或者到 http://www.dhdzp.com/softs/73369.html下載當(dāng)然也可以到https://dev.mysql.com/downloads/connector/python/下載
mysql-connector-python是MySQL官網(wǎng)提供的專門連接python的驅(qū)動(dòng)程序;使用起來很方便。文件里面有很多程序?qū)嵗﹨⒖肌?/p>
手工編譯MySQLdb的過程如下:
下面列舉出上面需要用到的軟件的下載地址:
MySQL - http://www.mysql.com/ <個(gè)人使用的MySQL的版本:mysql-essential-5.1.53-win32.msi,也許您下載的時(shí)候已經(jīng)有新的版本了。>
Python - http://www.python.org/ <個(gè)人使用的Python版本:python-2.6.6.msi>
MySQLdb - http://sourceforge.net/projects/mysql-python/ <個(gè)人使用的MySQLdb版本:MySQL-python-1.2.3.tar.gz>
1、安裝MySQL,選擇Custom,然后將“C Include Files / Lib Files”勾選上,如果使用Typical,則會(huì)出現(xiàn)問題(1),后面的配置也基本上都是默認(rèn)選項(xiàng),除了額外將"添加到系統(tǒng)路徑"(Include Bin Directory in Windows PATH)這個(gè)復(fù)選框勾上。如果你對(duì)安裝MySQL不是很清楚,可以從網(wǎng)上搜索一下,相關(guān)的文章很多,如下:http://rangyang163.blog.163.com/blog/static/37743758200881203744469/
2、安裝Python,也基本上默認(rèn)的選項(xiàng),只是把安裝路徑稍微改了一下。Python的默認(rèn)安裝路徑是"C:/Python26",個(gè)人習(xí)慣將其改為"C:/Program Files/Python26"
3、在安裝MySQLdb之前必須安裝setuptools,要不然會(huì)出現(xiàn)編譯錯(cuò)誤。
Setuptools - http://pypi.python.org/pypi/setuptools <將滾動(dòng)條向下拖,很快,就可以看到一串下載地址,個(gè)人使用的是:setuptools-0.6c11.win32-py2.6.exe,這是因?yàn)槲沂褂玫腜ython版本是2.66>
默認(rèn)安裝這個(gè)工具即可...
好了,可以正式開始安裝MySQLdb了,我們下載的這個(gè)tar.gz是源碼包,里面是沒有安裝程序的,需要先編譯,再安裝。<其實(shí)只要看看README就明白了。>
(1)將MySQL-python-1.2.3.tar.gz解壓到當(dāng)前目錄下,會(huì)出現(xiàn)一個(gè)MySQL-python-1.2.3文件夾;
(2)WIN+R,打開運(yùn)行對(duì)話框,輸入cmd,打開MS-DOS,進(jìn)入上面解壓的那個(gè)文件夾;(前提是你得明白cd是什么命令 :-)....)
(3)輸入setup.py build開始編譯...<額外補(bǔ)充一點(diǎn),在編譯MySQLdb時(shí)需要C編譯器,如果已經(jīng)安裝了MSVC,則直接編譯即可。如果需要指定編譯器,可以使用compiler開關(guān)。如--compiler=mingw32則使用GCC作為編譯器,不過,前提是你需要安裝相應(yīng)的編譯器,并配置好環(huán)境變量才行。>
我在編譯過程中遇到以下問題:
1)問題: _mysql.c(34) : fatal error C1083: Cannot open include file: ‘config-win.h': No such file or directory
error: command ‘”C:/Program Files/Microsoft Visual Studio 9.0/VC/BIN/cl.exe”‘ failed with exit status 2
原因:原因是安裝MySQL的時(shí)候沒有安裝C語言庫。
解決:重新運(yùn)行MySQL的安裝程序,選擇Modify,把“C Include Files / Lib Files”勾選上,并安裝。
2)問題:Traceback (most recent call last):
File "setup.py", line 15, in <module>
metadata, options = get_config()
File "C:/MySQL-python-1.2.3/setup_windows.py", line 7, in get_config
serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key'])
WindowsError: [Error 2] The system cannot find the file specified
原因:MySQL for python 1.2.3仍然是在尋找MySQL5.0的版本
解決:1、打開目錄下site.cfg文件,修改最后一行為“registry_key = SOFTWARE/MySQL AB/MySQL Server 5.1”
2、打開setup_windows.py文件,修改第七行為“serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, 'SOFTWARE/MySQL AB/MySQL Server 5.1')”
3)問題:build/temp.win32-2.7/Release/_mysql.pyd.manifest : general error c1010070: Failed to load and parse the manifest. The system cannot find the file specified.
error: command ‘mt.exe' failed with exit status 31
原因:路徑發(fā)生變化?
解決:打開“你的PYTHON安裝目錄/Lib/distutils/msvc9compiler.py”文件,找到“l(fā)d_args.append('/MANIFESTFILE:' + temp_manifest)”這行代碼,將其改為“l(fā)d_args.append('/MANIFEST')”
(4)當(dāng)編譯完成以后,就可以輸入setup.py install了,現(xiàn)在終于大功告成了!
可以在DOS環(huán)境下輸入以下命令進(jìn)行測(cè)試:
C:/Users/Michael>python Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import MySQLdb >>>
這樣就說明MySQLdb已經(jīng)成功安裝了!接下來,就可以學(xué)習(xí)Python+MySQLdb+MySQL了,祝你愉快!
相關(guān)文章
Gradio機(jī)器學(xué)習(xí)模型快速部署工具接口狀態(tài)
這篇文章主要為大家介紹了Gradio機(jī)器學(xué)習(xí)模型快速部署工具接口狀態(tài)的原文翻譯,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Python進(jìn)階之自定義對(duì)象實(shí)現(xiàn)切片功能
這篇文章主要介紹了Python進(jìn)階之自定義對(duì)象實(shí)現(xiàn)切片功能,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
Spectral?clustering譜聚類算法的實(shí)現(xiàn)代碼
譜聚類是從圖論中演化出來的算法,它的主要思想是把所有的數(shù)據(jù)看做空間中的點(diǎn),這些點(diǎn)之間可以用邊連接起來,今天通過本文給大家介紹Spectral?clustering譜聚類算法的實(shí)現(xiàn),感興趣的朋友一起看看吧2022-04-04
Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)根據(jù)字段將記錄分組操作示例
這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)根據(jù)字段將記錄分組操作,結(jié)合實(shí)例形式分析了itertools.groupby()函數(shù)針對(duì)字典進(jìn)行分組操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-03-03
python獲取指定時(shí)間段內(nèi)特定規(guī)律的日期列表
這篇文章主要介紹了python獲取指定時(shí)間段內(nèi)特定規(guī)律的日期列表,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Python簡(jiǎn)單實(shí)現(xiàn)阿拉伯?dāng)?shù)字和羅馬數(shù)字的互相轉(zhuǎn)換功能示例
這篇文章主要介紹了Python簡(jiǎn)單實(shí)現(xiàn)阿拉伯?dāng)?shù)字和羅馬數(shù)字的互相轉(zhuǎn)換功能,涉及Python針對(duì)字符串與列表的遍歷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04

