![](/img/trans.png)
[英]How to install pdfkit/wkhtmltopdf in Python Azure Function Docker Container?
[英]html to pdf on Azure using pdfkit with wkhtmltopdf
我正在尝试编写一个 Azure function 将 html 输入转换为 pdf 并将其写入 blob 和/或将 pdf 返回给客户端。 我正在使用pdfkit python 库。 这需要 wkhtmltopdf 可执行文件可用。
为了在我的 windows 机器上进行本地测试,我安装了 windows 版本的 wkhtmltopdf,这完全可以正常工作。
当我将这个function部署到Azure的Linux应用服务上时,只有在kudo工具上执行sudo命令在应用服务上安装wkhtmltopdf后,我仍然可以成功执行function。
sudo apt-get install wkhtmltopdf
我也知道我可以在应用程序服务本身上编写这个启动脚本。
我的问题是:我可以在我的本地 windows 机器上做些什么,这样我就可以直接从我的 vscode 部署 azure function 以及 wkhtmltopdf 的 linux 版本,而不必在应用程序服务本身上执行另一个脚本?
通过在 App 配置中设置以下命令将起作用。
感谢@pamelafox 的评论。
命令
PRE_BUILD_COMMAND
或POST_BUILD_COMMAND
以下过程适用于每个构建。
PRE_BUILD_COMMAND
或PRE_BUILD_SCRIPT_PATH
指定,则运行自定义命令或脚本。VIRTUALENV_NAME
指定,则创建 python 虚拟环境。python -m pip install --cache-dir /usr/local/share/pip-cache --prefer-binary -r requirements.txt
如果requirements.txt
存在于 repo 的根目录中或由CUSTOM_REQUIREMENTSTXT_PATH
指定。setup.py
存在,运行python setup.py install
。manage.py
,则运行manage.py collectstatic
。 但是,如果DISABLE_COLLECTSTATIC
设置为true
,则跳过此步骤。compress_virtualenv
属性键指定,则压缩虚拟环境文件夹。POST_BUILD_COMMAND
或POST_BUILD_SCRIPT_PATH
指定,则运行自定义命令或脚本。 以下过程适用于每个构建。
PRE_BUILD_COMMAND
或PRE_BUILD_SCRIPT_PATH
指定,则运行自定义命令或脚本。conda env create --file $envFile
。requirment.txt
指定,激活CUSTOM_REQUIREMENTSTXT_PATH
conda activate $environmentPrefix
并运行pip install --no-cache-dir -r requirements.txt
。POST_BUILD_COMMAND
或POST_BUILD_SCRIPT_PATH
指定,则运行自定义命令或脚本。 使用最新版本pip
安装依赖。
跑步
以下过程用于了解如何启动应用程序。
wsgi.py
文件的目录(对于 Django )。app
class(对于 Flask和其他 WSGI 框架)。
application.py
app.py
index.py
server.py
要启用使用多个工作人员策略运行 gunicorn 并充分利用核心来提高性能并防止同步工作人员潜在的超时/阻塞,请在应用程序设置中添加并设置环境变量PYTHON_ENABLE_GUNICORN_MULTIWORKERS=true
。
在 Azure Web 应用程序中,运行您的应用程序的 Python 运行时的版本由站点配置中的LinuxFxVersion
值决定。 请参阅../base_images.md了解如何修改它。
参考资料取自
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.