【问题标题】:Psycopg installation on windows在 Windows 上安装 Psycopg
【发布时间】:2012-10-21 16:50:11
【问题描述】:

我正在尝试在 Windows(Windows 7、64 位)下安装 psycopg2。我正在使用 Python 2.7.2 from Python(x,y) 和 PostgreSQL 9.2.1 。

我的第一次尝试是使用可从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

有人知道如何解决这个问题吗?

【问题讨论】:

  • vcvarsall.bat 是 Microsoft Visual Studio 的一部分,它为从源代码编译新程序设置了编译环境。你不想在 Windows 上去那里,在 Windows 上编译是一个很大的痛苦;您将需要 libpq 的 PostgreSQL 头文件和其他各种 bleagh。我为 PostgreSQL 开发了补丁并在 Windows 上进行了测试;除非你必须这样做,否则我不建议你这样做。
  • 你是如何安装 Python 2.7 的?从什么分布/来源? psycopg2 安装程序似乎需要来自 Windows 安装程序的特定注册表项。
  • 感谢您的回复。是的,我知道 vcvarsall.bat 问题可能是一个比我愿意解决的更大的问题。我的puthon安装是python(x,y) 2.7.2.3
  • 请允许我重新措辞。你是从哪个网站下载 Python 的?您使用的安装程序的文件名是什么? (有不止一种不同的 Python 安装程序)。
  • 我从code.google.com/p/pythonxy/wiki/Downloads下载的。安装程序的名称是“Python(x,y)-2.7.2.3.exe”。

标签: windows postgresql python-2.7


【解决方案1】:

您使用的 Python 发行版与 psycopg2 安装程序所期望的不同,因此它找不到 Python 安装位置。

您可以从下载的二进制文件中手动安装 psycopg2,方法是按照 instructions on the psycopg2 download page 解决 Zope 安装问题,内容如下:

已经注意到 psycopg2 的安装程序找不到 python的zope安装,停止安装,并没有 安装 psycopg2。一种解决方法是通过重命名来提取文件 从 *.exe 到 *.zip 的扩展名并使用 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

【讨论】:

  • 克雷格,非常感谢您的帮助。这就是我一直在寻找的解决方案。
  • 谢谢!我认为值得一提的是 lib\site-packages 位于您当前正在使用的特定 virtualenv 下,并且您还应该复制“psycopg2-2.5.2-py2.7.egg-info”(来自 zip 文件) - 所以 'psycopg2' 将出现在 'pip freeze' 上
  • @ItayB 好主意。如果您愿意,请随时在答案的编辑中进行解释。
【解决方案2】:
  1. 从此页面选择合适的版本:

    http://www.stickpeople.com/projects/python/win-psycopg/

  2. 右键选择copy link address

  3. 回到家里,用easy_install <<Paste URL Here>>

  4. 冻结您的新要求:pip freeze > requirements.txt

【讨论】:

  • 注意:只有旧版本的 psycopg2 才需要。从 2.7 版开始,它应该可以通过 pip 正常安装。
猜你喜欢
  • 2019-10-29
  • 1970-01-01
  • 2011-06-10
  • 2014-06-26
  • 2016-06-05
  • 2013-12-25
  • 2018-06-16
  • 2018-09-29
  • 2014-02-07
相关资源
最近更新 更多