在 Windows 上安装 plpythonu

问题描述 投票:0回答:3

我正在尝试在 Windows 计算机上的 postgres 服务器上安装 plpython。当我在 postgres 中发出命令

CREATE EXTENSION plpython3u;
时,出现以下错误,我正在尝试查找其来源。

ERROR: could not load library "C:/Program Files/PostgreSQL/9.3/lib/plpython3.dll": The specified module could not be found.

这个文件存在,我推测这意味着Windows找不到它所依赖的文件之一。当我使用 Dependency Walker 打开 plpython3.dll 时,它告诉我它无法找到 GPSVC.dll。

这个缺失的 dll 是否可能会导致

CREATE EXTENSION
命令失败?我在 C:\Windows\System32 中找到了一个同名的 .dll 并将其复制到 C:\Windows\SysWOW64 中,但这并没有解决问题,尽管 dependency walker 现在找到了 .dll,但它引发了其他几个问题有关具有不同 CPU 类型的模块的错误。

postgresql plpython
3个回答
6
投票

我知道这是一个老问题,但我想我会发帖来避免某人在尝试解决这个问题时所经历的头痛......

我在尝试使用 Postgres 9.5 添加 pl python 时遇到了同样的错误。 Dependency walker 显示 plpython3.dll 正在寻找 python33.dll,因此我安装了 python 3.3 并将安装目录添加到我的路径中,这似乎已经解决了问题。


3
投票

在 Windows 上使用特定的 python 版本。我可以用 python 3.2.x 和 postgres 9.3 运行它


0
投票

我会写下我如何解决这个问题...... 要在 Windows 上安装 plpythonu,您必须:

  1. 使用任何查看器或文本编辑器打开 lib 目录中的 plpython3.dll(对于版本 16,它是 c:\Program Files\PostgreSQL \lib。)。
  2. 查找字符串“PyUnicode_AsUTF8String”。
  3. 在它附近您将看到您需要的直接库名称。对于我的版本,它是 python311.dll
  4. 然后下载并安装准确版本的Python。
  5. 将文件从python安装目录复制到C:\Windows\System32。
  6. 然后执行 CREATE EXTENSION 脚本。
© www.soinside.com 2019 - 2024. All rights reserved.