【问题标题】:Can't import own python module in Postgresql plpython function无法在 Postgresql plpython 函数中导入自己的 python 模块
【发布时间】:2016-05-14 06:16:43
【问题描述】:

我创建了自己的 python 模块并用 distutils 打包它。现在我将它安装在一个新系统上(python setup.py install),我试图从 plpython3u 函数中调用它,但是我收到一个错误,提示该模块不存在。

它在以前的 Ubuntu 安装上运行,我不确定在设置新系统时我做错了什么。

我正在使用 postgresql 9.5 的 Ubuntu 15.10 电脑上尝试这个,一切都是全新安装的。我还在使用相同组件(ubuntu 15.10 和 pg 9.5)构建的 docker 映像中尝试此设置。我在两种设置中都遇到了同样的错误。

能否请您提示我为什么会失败?我写下了两个系统(本机和 docker)的安装说明,如果有帮助,我可以提供它们。

谢谢

【问题讨论】:

  • 您是否使用 sudo 在系统范围内安装了模块?还是您使用的是虚拟环境?
  • 嗨,Noorul,是的,我确实使用了 sudo。我尝试不使用 sudo,但出现权限错误。
  • 我在终端中执行了 echo $PYTHONPATH 并且它是空的,但是我尝试从交互式 python 会话中导入相同的模块并且它工作正常。我的 postgres/plpython 设置似乎有问题。有任何想法吗?谢谢
  • 你确定你使用的是同一个python解释器吗?你是如何运行脚本的?如果它是可执行的,请查看 shebang。

标签: python postgresql ubuntu docker


【解决方案1】:

对不起,我想我发现了问题。我在我的存储过程中使用 plpython3,但使用 python 2 安装了我的自定义模块。我刚刚做了 sudo python3 setup.py install 现在它在本机 Ubuntu 上运行。我现在将尝试修改我的 docker 映像,看看它是否也可以在那里工作。 谢谢

【讨论】:

  • 您应该将此答案标记为正确,这样它就不会在搜索结果中显示为没有答案。
  • 只要允许,我就会这样做(它说我必须等待 2 天才能接受我自己的答案)。
猜你喜欢
  • 1970-01-01
  • 2012-03-12
  • 1970-01-01
  • 2021-05-18
  • 2015-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多