在Windows上安裝Psycopg2
在Windows上安裝Psycopg2
1. 什麼是Psycopg2?
Psycopg2 是用 Python 編寫的中最受歡迎的 PostgreSQL 資料庫介面卡。它的主要功能是完整實現 Python DB API 2.0 規範和執行緒安全 (多個執行緒可以共享相同的連線)。它是為大量多執行緒應用程式設計的, 它建立和銷燬大量遊標, 並生成大量併發 "INSERT" 或 "UPDATE"。
Psycopg 2 主要採用 C 作為 libpq 包裝器, 既高效又安全。它的特點是客戶端和伺服器端使用用遊標,非同步通訊和通知以及支援 "COPY TO/COPY FROM"。許多
Psycopg 2 對 Unicode 和 Python 3 友好。
2.如何在Windows下安裝Psycopg2?
2.1 準備環境:
作業系統:Windows 7
軟體環境:Python 3.3,Visual Studio 2010,pip-9.0,setuptools-38.5
2.2 安裝步驟
1. 首先,下載Windows版的Psycopg2。進入https://pypi.python.org/pypi/psycopg2/
2. 如果你的計算機上安裝並配置了pip,請直接參閱第7步。否則,你需要下載並安裝pip。進入https://pypi.python.org/pypi/pip ,下載pip-9.0.1.tar.gz (md5, pgp) 。
3. 解壓pip-9.0.1.tar.gz (md5, pgp),並進入解壓後文件夾,開啟控制檯,執行命令:
python setup.py install
執行上述命令,如果提示“Fineshed processing dependencies for pip==9.0.1”,則說明安裝成功。請直接參閱第6步。
如果報錯:ImportError: No module named setuptools,如下圖所示:
則需要下載setuptools。進入https://pypi.python.org/pypi/setuptools ,下載setuptools-38.5.1.zip (md5) 。要注意,setuptools-38.5.1支援的Python 版本有2.6、2.7、3.3、3.4和3.5,版本太高或太低,都會導致附錄中的問題1。
4. 解壓setuptools-38.5.1.zip (md5),進入檔案目錄,開啟控制檯,執行命令:
python setup.py install
如果出現如下提示,則安裝成功:
5. 重新進入pip-9.0.1.tar.gz (md5, pgp) 解壓後的資料夾,開啟控制檯,執行命令:
python setup.py install
如果出現如下提示,則安裝成功:
6. 現在還需要將pip的路徑新增到環境變數中。進入Python3.3的安裝目錄下的Scripts資料夾,以“D:\Program Files (x86)\Python\Python33\Scripts”為例。右擊計算機,依次點選屬性-高階系統設定-環境變數,選擇系統變數中path,點選“編輯“,將上述路徑新增至變數值中。
7. 現在進入psycopg2-2.7.4-cp33-cp33m-win_amd64.whl 所在的資料夾,開啟控制檯,執行命令:
pip install psycopg2-2.7.4-cp33-cp33m-win_amd64.whl install
就可以安裝成功了。
附:安裝過程中其他問題及解決方法
1. RuntimeError: Python 3.3 or later is required
問題描述:在安裝setuptools時就出出現,出現錯誤“RuntimeError: Python 3.3 or later is required”
原因:setuptools-38.5.1支援的Python 版本有2.6、2.7、3.3、3.4和3.5。本機上Python版本太低。
解決方法:安裝並使用上述版本的Python。
3. Error: Unable to find vcvarsall.bat
問題描述:使用以”.tar.gz”為字尾的psycopg安裝檔案安裝,解壓後進入目錄,在控制檯執行python setup.py install後 ,出現錯誤“Error: Unable to find vcvarsall.bat”
原因:計算機上安裝的Python的版本和Visual C++ 版本不相容,導致編譯不成功。
計算機上安裝的Python環境是用C語言實現的,經VC編譯過的可執行程式。而一些Python擴充套件程式,如psycopg2的安裝程式中,也有一些程式碼是用C語言編寫的,需要在安裝過程中通過VC編譯實現功能。如果計算機上的VC版本與編譯Python環境的VC版本不一致,psycopg2的編譯成果可能會與Python環境不相容。所以psycopg2在安裝時會檢測當前環境下Python版本和VC版本是否一致。不一致就會報錯。
解決方法:
1. 保證Python的版本Visual Studio的版本對應。
下面是Python和編譯器Visual C++ 以及Visual Studio的對應關係。
Python |
Visual C++ |
Visual Studio |
Python 2.6, 2.7, 3.0, 3.1, 3.2 |
Visual C++ 9.0 |
Visual Studio 2008 |
Python 3.3, 3.4 |
Visual C+ + 10.0 |
Visual Studio 2010 |
Python 3.5,3.6 |
Visual C++ 14.0 |
Visual Studio 2015 |
2. 採用本文介紹的安裝程式和安裝方法。
附: MSC_VER和Visual C++版本號和Visual Studio版本和vc內部版本號的對應關係
MSC_VER |
Visual C++ |
Visual Studio |
內部版本號 |
1000 |
Visual C++ 4.x |
|
|
1100 |
Visual C++ 5 |
|
|
1200 |
Visual C++ 6 |
|
|
1300 |
Visual C++ .NET |
Visual Studio .NET |
|
1310 |
Visual C++ .NET 2003 |
Visual Studio .NET 2003 |
|
1400 |
Visual C++ 2005 |
Visual Studio 2005 |
8 |
1500 |
Visual C++ 2008 |
Visual Studio 2008 |
9 |
1600 |
Visual C++ 2010 |
Visual Studio 2010 |
10 |
1700 |
Visual C++ 2012 |
Visual Studio 2012 |
11 |
1800 |
Visual C++ 2013 |
Visual studio 2013 |
12 |
1900 |
Visual C++ 2015 |
Visual Studio 2015 |
14 |
1910 |
Visual C++ 2017 |
Visual Studio 2017 |
15 |
參考文獻:
[1]雲遊道士. Windows下安裝Python擴充套件模組提示“Unable to find vcvarsall.bat”的問題.
[2] OrhanCinar.