python之mysqldb模塊在windows下安裝方法
發(fā)表時(shí)間:2023-07-20 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]這篇文章主要介紹了windows下python之mysqldb模塊安裝方法,需要的朋友可以參考下之所以會(huì)寫(xiě)下這篇日志,是因?yàn)榘惭b的過(guò)程有點(diǎn)虐心。目前這篇文章是針對(duì)windows操作系統(tǒng)上的mysql...
這篇文章主要介紹了windows下python之mysqldb模塊安裝方法,需要的朋友可以參考下
之所以會(huì)寫(xiě)下這篇日志,是因?yàn)榘惭b的過(guò)程有點(diǎn)虐心。目前這篇文章是針對(duì)windows操作系統(tǒng)上的mysqldb的安裝。安裝python的mysqldb模塊,首先當(dāng)然是找一些官方的網(wǎng)站去下載:https://pypi.python.org/pypi/MySQL-python。下載后,cmd進(jìn)入MySQL-python-1.2.3文件夾,按常規(guī)的執(zhí)行python setup.py install 命令安裝此模塊,然后就報(bào)錯(cuò)了:

這個(gè)報(bào)錯(cuò)很明顯,print
進(jìn)行python前,應(yīng)該先確定當(dāng)前mysqldb的各個(gè)版本都支持python的哪些版本。部分截圖如下:

mysql-python1.2.5是當(dāng)前最新的一個(gè)版本,這個(gè)版本支持mysql3.23-5.5,python2.4-2.7的,不支持python3系列。介于安裝時(shí)當(dāng)前系統(tǒng)的python是3.7.11的,在卸載的時(shí)候,報(bào)錯(cuò)了:
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.
估計(jì)這個(gè)問(wèn)題可能是文件缺損導(dǎo)致的,于是嘗試了網(wǎng)上說(shuō)的一些解決方法:
方法一:重新運(yùn)行安裝程序,選擇repair,修復(fù)完再卸載。(結(jié)果:無(wú)用,repair的時(shí)候報(bào)另外一個(gè)網(wǎng)絡(luò)異常錯(cuò)誤)
方法二:安裝一個(gè)其他版本的python,再卸載python3.7.11.(結(jié)果:無(wú)用,安裝新的版本產(chǎn)生的文件不會(huì)修復(fù)老版本文件的缺失)
方法三:刪除注冊(cè)表的信息,或者使用Your Unin-staller!強(qiáng)制刪除python3.7.11.(結(jié)果:終于給刪除成功了,
ps:http://wenku.baidu.com/link?url=dujEO65nXySNvwUyDJVR5kmbrlcqp7WsvhLFGN_7L5q-58EoVjyw4DjiTS_J5PomPzgvdG69uulXDI8TbMgJlXk9Y-ayHs8qOD3Z3AomBU7,鏈接里有產(chǎn)品注冊(cè))
或者這篇文章:http://www.jb51.net/softjc/500307.html
以上3個(gè)解決方法只有第三個(gè)最暴力的方法解決我的問(wèn)題,前面2種有些網(wǎng)友都能使用,操作后也能解決問(wèn)題。卸載高版本的python后,終于裝上了低版本的python。
接著安裝mysqldb,然后又報(bào)了一個(gè)錯(cuò):缺少c語(yǔ)言的編譯環(huán)境,需要去下載一個(gè)VC環(huán)境。這個(gè)其實(shí)挺好辦,錯(cuò)誤提示里本來(lái)就有下載鏈接(忘記截圖了,抱歉)https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266,下載好VCForPython27.msi安裝就不報(bào)這錯(cuò)了。但是報(bào)另一個(gè)錯(cuò)。(又忘了截圖),然后覺(jué)得很有必要在MySQL-python-1.2.3文件夾下查看下readme了,里面一般都會(huì)記載著怎么安裝和怎么使用。部分關(guān)于windows系統(tǒng)安裝的重要信息翻譯后截圖如下:
Windows.......
我不做Windows。 但是如果有人給我提供了一個(gè)包Windows,我會(huì)使它可用。 不要問(wèn)我有關(guān)Windows的幫助因?yàn)槲也荒軒椭恪?
一般來(lái)說(shuō),運(yùn)行setup.py與上面類(lèi)似::
C:\ ...> python setup.py install C:\ ...> python setup.py bdist_wininst
后面的示例應(yīng)該構(gòu)建一個(gè)Windows安裝程序包,如果你有正確的工具。 無(wú)論如何,你必須有一個(gè)C編譯器。另外,你必須設(shè)置一個(gè)環(huán)境變量(mysqlroot)這是MySQL安裝的路徑。 在理論上,它會(huì)的可能從注冊(cè)表中獲取這些信息,但是像我說(shuō)的,
我不做Windows,但我會(huì)接受這樣做的補(bǔ)丁。
在Windows上,您肯定必須編輯site.cfg,因?yàn)橛性贛ySQL包中沒(méi)有mysql_config。
然后開(kāi)始默默的安裝mysql,去官網(wǎng)下了個(gè)5.5.7版本的,安裝驗(yàn)證連接DB時(shí)一直報(bào)錯(cuò):ERROR 1045 (28000): Access denied for user 'mysql'@'localhost' (using password: NO)
這個(gè)百度下,在安裝文件夾的my.ini里增加skip-grant-tables就可以了
[mysqld]
skip-grant-tables
# The TCP/IP Port the MySQL Server will listen on
port=3306
然后就能正常連接DB并訪問(wèn)DB了,這下我覺(jué)得應(yīng)該沒(méi)問(wèn)題,然而安裝時(shí),又報(bào)了一個(gè)錯(cuò):
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]
可行的解決方法:打開(kāi)setup_windows.py,然后將注冊(cè)表操作的兩行代碼注釋掉,并添加一行代碼:
#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目錄
然后接著安裝,又報(bào)了一個(gè)錯(cuò):

可行的解決方法:下載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目錄
接著執(zhí)行安裝,天啊,終于成功了。
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
打印結(jié)果如下:
D:\Python27\python.exe D:/untitled/mysql_test.py
('information_schema',)
('mysql',)
('performance_schema',)
('test',)
Process finished with exit code 0
之前學(xué)習(xí)RF的時(shí)候安裝過(guò)第三方庫(kù)卻從未如此虐心過(guò),也有可能當(dāng)時(shí)使用的本來(lái)就是低版本的python,而且當(dāng)時(shí)機(jī)器上有各種程序的編譯環(huán)境,但是暴露出一個(gè)問(wèn)題,就是安裝三方庫(kù)時(shí)候沒(méi)有一套通用的方法幫助快速安裝,基于狗血的經(jīng)歷,特做以下小結(jié):
1、安裝前看下安裝文件里的read me和下載頁(yè)面的一些使用說(shuō)明(一般作者都是會(huì)編寫(xiě)安裝手冊(cè)和test文檔的,無(wú)論是哪類(lèi)操作系統(tǒng)多多少少都是會(huì)介紹的)。
2、確定python三方庫(kù)支持python的哪個(gè)版本,目前看python2.7.11還是挺好的。
3、確定三方庫(kù)安裝時(shí)需要哪些其他的環(huán)境和依賴(lài)的軟件。
以上就是python之mysqldb模塊在windows下安裝方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門(mén)到精通的SQL知識(shí)。