2012-11-01 111 views
9

我想在Windows(Windows 7,64位)下安裝psycopg2。我正在使用Python 2.7.2 from Python(x,y)和PostgreSQL 9.2.1。窗口上Psycopg安裝

我第一次嘗試使用可從http://www.stickpeople.com/projects/python/win-psycopg/(psycopg2-2.4.5.win-amd64-py2.7-pg9.1.3-release.exe)下載的Windows端口。然後我收到一條消息

Python 2.7 required but was not found in the registry 

在接下來的對話中,它不允許我選擇任何python安裝。所有其他程序和安裝愉快地找到我的python。

這被失敗了,我試圖直接從http://pypi.python.org/pypi/psycopg2但嘗試使用後的源代碼包:

python setup.py install 

現在我堅持錯誤消息:

error: Unable to find vcvarsall.bat 

沒有任何人有一個想法如何解決這個問題?

+0

'vcvarsall.bat'是微軟的Visual Studio的一部分,它建立了從源代碼編譯新計劃的編譯環境。你不想在Windows上去那裏,在Windows上編譯是一個重大的痛苦;你需要libpq的PostgreSQL頭文件和各種其他的bleagh。我爲PostgreSQL開發了補丁並在Windows上測試了它們;除非必須,否則我不推薦你這樣做。 –

+0

你是如何安裝Python 2.7的?從什麼分佈/來源? psycopg2安裝程序似乎期望來自Windows安裝程序的特定註冊表項。 –

+0

謝謝你的回覆。是的,我意識到vcvarsall.bat問題可能是一個比我願意解決的更大的問題。我的puthon安裝是python(x,y)2.7.2.3 –

回答

17

您正在使用與psycopg2安裝程序所期望的不同的Python發行版,因此無法找到Python安裝位置。

您可以手動從您按照instructions on the psycopg2 download page與Zope的安裝問題,下載的二進制文件,其內容安裝psycopg2:

有人指出,psycopg2的安裝程序將無法找到 Zope的安裝蟒蛇,停止安裝,而不是 安裝psycopg2。解決方法是通過將* .exe的擴展名重命名爲 ,並使用zip提取器(例如 WinZip/PkZip/7z)來提取psycopg2文件夾並將其放置在 \ lib \ python中。我不使用Zope,所以我將無法提供關於如何使用它的支持或說明。不過,讓我知道 不起作用。

這同樣適用於您使用的Python(x,y)發行版。使用7-zip解壓縮psycopg2安裝程序.exe,然後複製psycopg2文件夾和'psycopg2-2.5.2-py2.7.egg-info'文件(所以'psycopg2'將會在'pip freeze'上顯示)到您的Python lib\site-packages目錄中。見installing Python modules

然後您應該可以import psycopg2

+0

克雷格,非常感謝您的幫助。這是我一直在尋找的解決方案。 –

+1

謝謝!我認爲值得一提的是,lib \ site-packages位於您目前正在運行的特定virtualenv下,並且您應該複製'psycopg2-2.5.2-py2.7.egg-info'(從zip文件) - 所以'psycopg2'將在'點凍結' – ItayB

+0

@ItayB好想法。如果您喜歡,請隨時在編輯中解釋答案。 –