els*_*sar 3 python django libreoffice
我有一个使用子进程调用 unoconv 的 django 应用程序。在我的开发环境中运行时它工作正常,但在生产环境中运行时会出错。
它给出了这个错误
“unoconv:在/usr/lib/libreoffice 中找不到合适的pyuno 库和python 二进制组合错误:没有名为uno 的模块
unoconv:在您的系统上找不到合适的办公安装。错误:请找到您的办公室安装并将您的反馈发送至:http : //github.com/dagwieers/unoconv/issues ”
但是 unoconv 从命令行运行得很好。
由于我将 django 应用程序作为 uwsgi vassal 运行,因此它可能与特权有关,但在我的一生中,我无法弄清楚如何修复它。
PS - django 应用程序不会启动 unoconv 侦听器,它已经在运行。
编辑- 这不是权限问题,而是路径问题,因为 unoconv 是从错误的 Python 解释器(virtualenv 解释器)调用的
由于应用程序在 virtualenv 中运行,因此使用 virtualenv python 解释器而不是系统解释器调用 unoconv。
如果您有 virtualenvwrapper,则修复非常简单 -在我的情况下,只需add2virtualenv使用包含目录的路径uno.py并unohelper.py作为参数 ( /usr/share/pyshared)调用命令。