Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows for PostgreSQL 12上安装PL/Python_Python_Postgresql_Plpython_Postgres Plpython - Fatal编程技术网

在Windows for PostgreSQL 12上安装PL/Python

在Windows for PostgreSQL 12上安装PL/Python,python,postgresql,plpython,postgres-plpython,Python,Postgresql,Plpython,Postgres Plpython,我一直在为一个项目研究FHIR,我们正在使用PostgreSQL作为数据库。在阅读文档时,我逐渐了解了PL/Python,并决定尝试一下,但我无法安装Python扩展 当我运行命令CREATE EXTENSION pypthon3u时我得到以下错误 Could not load library "C:/Program Files/PostgreSQL/12/lib/plpython3.dll": The specified module could not be found. 我查过了,但没办

我一直在为一个项目研究FHIR,我们正在使用PostgreSQL作为数据库。在阅读文档时,我逐渐了解了PL/Python,并决定尝试一下,但我无法安装Python扩展

当我运行命令
CREATE EXTENSION pypthon3u时我得到以下错误

Could not load library "C:/Program Files/PostgreSQL/12/lib/plpython3.dll": The specified module could not be found.
我查过了,但没办法

我的PostgreSQL版本:<强> PostgreSQL 12.2,由Visual C++编译生成1914, 64位< /强>

已安装的Python版本:3.7.7(64位)

操作系统信息:windows10enterpriseVersion1909OS-Build18363.657

对我来说,它看起来像是不正确的Python版本,但我正在安装Python 3.7.*版本,根据安装目录中的
doc\installation notes.html
指定编译PostgreSQL


任何帮助都将不胜感激。

即使您使用EDB安装程序的Stack Builder安装Python,您仍然必须按照说明“确保它们包含在启动数据库服务器的PATH变量中”。我必须在系统级别这样做,因为我找不到为单个服务设置路径的方法

然后还需要设置PYTHONPATH,它似乎没有文档记录


因此,我最终将
c:\edb\languagepack\v1\Python-3.7
添加到路径中,并使用
c:\edb\languagepack\v1\Python-3.7\Lib
创建Python路径。我不得不添加包含plpython3.dll do系统/用户变量(windows)的目录。

不幸的是,我在一两个月前安装了它,所以我不确定,但我有这个文件(postgresql-12.2-1-windows-x64.exe)用于安装DB.PL/Python的未安装。您必须先安装二进制文件,然后才能创建扩展。您可以指导我如何安装二进制文件吗?@LaurenzAlbe就是您所说的吗?这看起来像EDB安装程序。如果您使用它,并让它启动Stack Builder,然后让它安装语言包,那么uld安装自己的python。这是您所做的,还是您从其他地方安装了python?我没有使用EDB安装程序。根据您的建议,我已将PYTHONPATH添加到path并作为用户变量,但仍然得到相同的错误。PYTHONPATH和path是两个单独的变量,您没有将一个设置为另一个,而是将它们单独设置。在我的手,仅仅设置路径就足以允许创建扩展,但是在设置PYTHONPATH之前,它无法正常工作。是的,我知道两者都不同。我在路径中添加了python,但它不起作用。记住,我没有使用EDB,并且从他们的官方网站安装了python。然后我添加了PYTHONPATH,但运气不好。我重新安装了PostgreSQL并使用EDB语言包安装了python。
c:\EDB\languagepack\v1\python-3.7
到PATH,并添加了带有
c:\EDB\languagepack\v1\python-3.7\Lib
的PYTHONPATH,但仍然得到相同的错误。