python之mysqldb模塊安裝

来源:https://www.cnblogs.com/zmdComeOn/archive/2019/07/09/11160930.html
-Advertisement-
Play Games

之所以會寫下這篇日誌,是因為安裝的過程有點虐心。目前這篇文章是針對windows操作系統上的mysqldb的安裝。安裝python的mysqldb模塊,首先當然是找一些官方的網站去下載:https://pypi.python.org/pypi/MySQL-python。下載後,cmd進入MySQL- ...


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

  

   這個報錯很明顯,print

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

        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。

 

  接著安裝mysqldb,然後又報了一個錯:缺少c語言的編譯環境,需要去下載一個VC環境。這個其實挺好辦,錯誤提示里本來就有下載鏈接

https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266

執行pip install mysql-python

 

報錯

 下載C++編譯器

 

下載好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)    

      這個百度下,在安裝文件夾的my.ini里增加skip-grant-tables就可以了

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

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

複製代碼
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,然後將註冊表操作的兩行代碼註釋掉,並添加一行代碼:

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

     之前學習RF的時候安裝過第三方庫卻從未如此虐心過,也有可能當時使用的本來就是低版本的python,而且當時機器上有各種程式的編譯環境,但是暴露出一個問題,就是安裝三方庫時候沒有一套通用的方法幫助快速安裝,基於狗血的經歷,特做以下小結:
1、安裝前看下安裝文件里的read me和下載頁面的一些使用說明(一般作者都是會編寫安裝手冊和test文檔的,無論是哪類操作系統多多少少都是會介紹的)。

2、確定python三方庫支持python的哪個版本,目前看python2.7.11還是挺好的。

3、確定三方庫安裝時需要哪些其他的環境和依賴的軟體。

註釋:轉載他處


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Question:最近在搞linux下的一個客戶端項目,需要接收鍵盤事件,但是又不能有界面,這種情況怎麼處理呢? 1、首先需要在main方法中註冊,使用installEventFilter方法把這個類的指針傳進去 2、在Test類中重寫eventFilter方法,這樣就可以進行監聽了 3、在even ...
  • 1、臨時IP配置 # ifconfig eth0 192.168.110.118 netmask 255.255.255.0 gateway 192.168.110.2 up # ifconfig eth0 192.168.110.118/24 up # ifconfig eth0:1 192.16 ...
  • 1. Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host' ...
  • 《SQL Server溫故系列》之分組查詢 GROUP BY。GROUP BY 是一種能將查詢結果劃分為多個行組的查詢語句的子句,其目的通常是為了在每個組上執行一個或多個聚合運算,所以 GROUP BY 通常會與聚合函數一塊兒出現在查詢語句中。本文主要講述了 SQL Server 中 GROUP B... ...
  • 一.認識資料庫 1.什麼是資料庫? 資料庫就是存儲數據的倉庫 存儲數據的方式1 存儲數據的方式2 電腦的性能進行擴展 訪問不同電腦上的文件數據 2.常見資料庫 關係型資料庫 資料庫可以為數據與數據之間建立關聯關係,人是一條數據,他可能關聯著一個工作崗位數據。雙方可以通過自身找到對方。 非關係型 ...
  • 連接資料庫等基礎操作請自行解決哈,本篇是重點記錄如何改密碼。 一、查詢用戶密碼: 查詢用戶密碼命令: host:允許用戶登錄的ip‘位置'%表示可以遠程; user:當前資料庫的用戶名; authentication_string:用戶密碼(後面有提到此欄位); 二、 設置(或修改)用戶密碼: 預設 ...
  • 本帖參考網站<https://blog.csdn.net/lx318/article/details/82686925>的安裝步驟,並對8.0.16版本的部分安裝問題進行修正 在MySQL 8.0.16版本中安裝可能會出現部分錯誤提示已經不使用“UTF8B3”而是使用了“UTF8B4” #///// ...
  • 二、資料庫設計 資料庫設計是將數據對象轉換為數據表等資料庫對象的過程,是資料庫應用系統開發過程中首要的和基本的內容。 按照規範的設計方法,考慮資料庫及其應用系統開發全過程,將關係資料庫的設計分為六個階段:需求分析、概念結構設計、邏輯結構設計、物理結構設計、資料庫實施和數控運行和維護。其中需求分析的任 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...