PL/Python 与蟒蛇

PL/Python with Anaconda

我已经在 Ubuntu 上安装了 Anaconda,并且想在 PL/Python 中使用它的一些模块。然而,每次我调用 scipy,它都会出错 ImportError: No module named scipy.stats。

如何让 Anaconda 与 PL/Python 一起工作?

更新:下面是代码和错误

创建或替换函数hdi_bars( 分子整数, 分母整数) RETURNS SETOF 双精度[] AS $BODY$

从 scipy.stats 导入测试版 将 numpy 导入为 np 来自 scipy.stats 导入测试版 将 numpy 导入为 np

$BODY$ 语言 plpythonu 挥发性 花费 100 行 1000; ALTER FUNCTION hdi_bars(整数,整数) postgres 的所有者;

错误: 错误:导入错误:没有名为 scipy.stats 的模块 上下文:追溯(最近一次通话): PL/Python 函数 "hdi_bars",第 5 行,在 来自 scipy.stats 导入测试版 PL/Python 函数 "hdi_bars"

********** 错误 **********

错误:导入错误:没有名为 scipy.stats 的模块 SQL 状态:XX000 上下文:回溯(最后一次调用): PL/Python 函数 "hdi_bars",第 5 行,在 来自 scipy.stats 导入测试版 PL/Python 函数 "hdi_bars"

基于Postgres installation/configuration docs,有一个环境变量PYTHON,可以将其设置为您想要的Python 可执行文件的完整路径。否则,默认 --with-python 行为将查找系统 Python,很可能在 /usr/bin/python 或其他操作系统的类似标准位置。

This question and answer 似乎确认要更改它,您需要从源代码重建 Postgres。