当我在Python应用程序中调用一个PostgreSQL PL/Python存储过程时,它似乎在以用户
然而,现在我开始使用
当执行存储过程时,用户
我该如何扩展存储过程的Python路径?
更新:已经有一个类似的问题被提出,解决方法是修改Postgres中的PYTHONPATH环境变量;然而,似乎没有标准的方法来指定PostgreSQL的环境变量,至少在Mac OSX上不是可行的解决方案。
postgres
运行的单独进程中执行。到目前为止,这只有一个副作用,即我必须使我的日志文件可写,供我自己和数据库用户使用,因此应用程序和存储过程都可以向其写入。然而,现在我开始使用
virtualenv
并添加了一些.pth
文件到~/.virtualenvs/virt_env/lib/python2.7/site-packages/
文件夹中,将路径添加到我的模块路径中。当执行存储过程时,用户
postgres
不在与我相同的虚拟环境中,因此存储过程找不到我的模块。我可以在全局PostgreSQL环境中修改PYTHONPATH
,但每次切换虚拟环境时我都必须更改它——这有点违反了virtualenv的目的……我该如何扩展存储过程的Python路径?
更新:已经有一个类似的问题被提出,解决方法是修改Postgres中的PYTHONPATH环境变量;然而,似乎没有标准的方法来指定PostgreSQL的环境变量,至少在Mac OSX上不是可行的解决方案。