python之mysqldb模塊安裝

    之因此會寫下這篇日誌,是由於安裝的過程有點虐心。目前這篇文章是針對windows操做系統上的mysqldb的安裝。安裝python的mysqldb模塊,首先固然是找一些官方的網站去下載:https://pypi.python.org/pypi/MySQL-python。下載後,cmd進入MySQL-python-1.2.3文件夾,按常規的執行python setup.py install 命令安裝此模塊,而後就報錯了:python

  

   這個報錯很明顯,printmysql

  進行python前,應該先肯定當前mysqldb的各個版本都支持python的哪些版本。部分截圖以下:sql

        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。windows

       接着安裝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)    fetch

      這個百度下,在安裝文件夾的my.ini裏增長skip-grant-tables就能夠了網站

[mysqld]
skip-grant-tables
# The TCP/IP Port the MySQL Server will listen on
port=3306

     而後就能正常鏈接DB並訪問DB了,這下我以爲應該沒問題,然而安裝時,又報了一個錯:this

複製代碼
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]  
複製代碼

 可行的解決方法:打開setup_windows.py,而後將註冊表操做的兩行代碼註釋掉,並添加一行代碼:url

#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 0
相關文章
相關標籤/搜索