2015-10-19 66 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更具體。

相關問題