1. 程式人生 > >在Windows上安裝Psycopg2

在Windows上安裝Psycopg2

Windows上安裝Psycopg2

1. 什麼是Psycopg2

Psycopg2 是用 Python 編寫的中最受歡迎的 PostgreSQL 資料庫介面卡。它的主要功能是完整實現 Python DB API 2.0 規範和執行緒安全 (多個執行緒可以共享相同的連線)。它是為大量多執行緒應用程式設計的, 它建立和銷燬大量遊標, 並生成大量併發 "INSERT或 "UPDATE"

Psycopg 2 主要採用 C 作為 libpq 包裝器, 既高效又安全。它的特點是客戶端和伺服器端使用用遊標,非同步通訊和通知以及支援 "COPY TO/COPY FROM"。許多 

Python 型別都是受支援的, 並適合於匹配 PostgreSQL 資料型別;由於靈活的物件適應系統, 適應性可以擴充套件和定製。

Psycopg 2 Unicode Python 3 友好。

 

2.如何在Windows下安裝Psycopg2

2.1 準備環境:

作業系統:Windows 7

軟體環境:Python 3.3Visual Studio 2010pip-9.0setuptools-38.5

2.2 安裝步驟

1. 首先,下載Windows版的Psycopg2。進入https://pypi.python.org/pypi/psycopg2/

,在下載檔案列表中選擇psycopg2-2.7.4-cp33-cp33m-win_amd64.whl (md5pgp)注意: “cp33”表示該程式必須使用python3.3編譯。

 

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.

https://stackoverflow.com/questions/2676763/what-version-of-visual-studio-is-python-on-my-computer-compiled-with