我正在使用包pypandoc将DOC/DOCX文件转换为HTML。这样做的先决条件是已经安装了Pandoc。当使用requirements.txt
文件安装两个包时,它在本地工作。然而,当我将其部署为Azure函数时,它总是给出一个"未找到模块"。错误。(pypandoc无法在相同路径中找到pandoc,因为它被安装在其他地方。)
这似乎是一个已知的问题。Pandoc不会安装在与Pyandoc相同的路径上,有多种解决方案建议。但它们只是局部的。
选择尝试:
-
使用pandoc_download
from pypandoc.pandoc_download import download_pandoc
-
wdc使用。这不能解决问题。
-
使用包含Pandoc的wheel文件
现在我正在使用猛犸转换,这在准确性上略低,但部署在Az上。我如何才能让Pypandoc作为Azure功能工作?我如何在Pypandoc可以找到的地方安装Pandoc ?或者,我怎么告诉Pypandoc去哪里找?
我在我身边测试,我通过命令pip install pypandoc
和pip install pandoc
在本地安装pandoc
和pypandoc
,但不使用requirements.txt
安装它们。函数在本地运行良好。
然后我通过运行命令pip freeze > requirements.txt
生成requirements.txt
。然后运行func azure functionapp publish <your function app name> --build remote
命令将功能部署到azure上,azure会根据requirements.txt
的内容安装模块。部署完成后,功能在azure portal上运行成功。