升級python的sqlite庫版本


今天了解了一下用python獲取chrome cookie信息,在研究的過程中,發現打開數據庫失敗,后來調查了一下發現是由於sqlite3庫太老的緣故,起碼需要3.8以上,然后看了一下python 2.7.11的sqlite3版本,竟然是3.6的,於是便開始着手研究如何升級python的sqlite3庫,最終完美升級到了3.13版本,這里給大家一個參考。

查看python的sqlite3版本

import sqlite3
print sqlite3.sqlite_version

我們可以通過安裝pysqlite庫來升級python的sqlite3庫版本,最簡單的方法當然是直接在命令行輸入pip install pysqlite 如果你直接成功了,那就不需要下面繁瑣的步驟了。

我這邊在編譯的過程中出現了問題,所以在pypi下載了pysqlite的源碼包,准備自己編譯。 pysqlite的源碼編譯依賴sqlite3庫和頭文件,通過運行pysqlite中的setup.py build 命令,我發現使用的是vc9.0的編譯器,我正好安裝了vs2008,如果你沒有安裝,可以下一個微軟提供的編譯套件,網址如下

Microsoft Visual C++ Compiler for Python 2.7

然后我們需要編譯sqlite3,當然如果你有最新的sqlite3.h和sqlite3.lib的話就不需要這一步,下面提供了編譯好的lib和dll文件。

編譯sqlite3需要去官網下載兩個包,一個源碼包,一個windows平台的dll包

sqlite3官網下載頁面

然后解壓源碼包,把dll包里面的def文件放進源碼文件夾中。接着我們需要修改sqlite3.c文件,添加兩個宏

#define SQLITE_ENABLE_RTREE 1
#define SQLITE_ENABLE_COLUMN_METADATA 1

然后便可以用vs2008的commandline進行編譯,你也可以建一個vs2008的dll工程,這里是我建好的,也提供了編譯好的dll和lib的下載

sqlite3 for vs2008

然后把頭文件放進pysqlite的src文件夾,把lib放進pysqlite根目錄(src上一層),接着運行setup.py buildsetup.py install,然后一切就ok了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM