2015-10-19 67 views
0

我有一个简单的Flask web应用程序,它使用mod_wsgi在Apache上成功运行。但是,该应用程序本身导入了pypandoc,这是用于pandoc二进制文件的薄包装。在Apache上为Flask WSGI应用程序设置PATH变量

当我尝试在应用程序本身内使用pandoc功能时,出现一个错误,提示pypandoc找不到安装的pandoc。

大概这是因为pandoc二进制文件不在运行服务器的特殊“apache”用户的系统路径中,但我找不到在哪里以及如何使应用程序知道pandoc二进制文件。

我试图做WSGI脚本内的sys.path.insert,并且还试图将路径/etc/sysconfig/httpd文件中导出为/usr/local/bin(或其它地方我有pandoc)。但无济于事,无论是因为我的语法错误还是因为(正如我反而怀疑的),这些都不是正确的解决方案。

任何帮助表示赞赏。

+0

Apache支持一个名为'envvars'的文件,您可以在其中设置$ PATH。它可能在'/ etc/apache2/envvars'中,但它取决于你的操作系统。 –

+0

在我的系统上,我认为是'/ etc/sysconfig/httpd',但我尝试在那里导出PATH。 –

回答

1

后来发现问题与PATH无关。我能够找出Apache用户使用的PATH,但即使在将pandoc移动到这些路径目录之一后,我仍然遇到了麻烦。进一步调试后,我意识到这个pandoc二进制文件仍然试图从我的home文件夹中访问数据文件,并且Apache无法访问我的主文件夹。所以这个问题对于pandoc更具体。

相关问题