【问题标题】:How to get the path of a exe file in AWS layer?如何在 AWS 层获取 exe 文件的路径?
【发布时间】:2021-07-21 08:02:21
【问题描述】:

我正在尝试将 wkhtmltopdf 与 lambda 一起使用。我创建了一个带有结构的 zip 文件并制作了一个图层。

wkhtmltopdf.zip

├───bin
├───fonts
│   └───dejavu
└───lib

wkhtmltopdf.exe 在 bin 文件夹中的位置。我的代码,

pdfconf = pdfkit.configuration(wkhtmltopdf=os.getenv('PATH')+"/wkhtmltopdf.exe")

错误信息,

找不到 wkhtmltopdf 可执行文件:“/var/lang/bin:/usr/local/bin:/usr/bin/:/bin:/opt/bin/wkhtmltopdf.exe”

感谢您宝贵的时间。

【问题讨论】:

  • 试试/opt/bin/wkhtmltopdf.exe
  • PATH 保留系统用于搜索可执行文件的文件夹列表 - 它不是单一路径 - 因此将其与 + "/wkhtmltopdf.exe" 一起使用会创建完全错误的路径。您应该使用Current Working Directory - os.getcwd() + "/wkhtmltopdf.exe" - 或使用运行代码的路径os.path.dirname(os.path.abspath(__file__)) + "/wkhtmltopdf.exe"
  • @jellycsc 你是救生员!您的解决方案对我有用!谢谢!你可以回答我可以接受吗?
  • @furas 显然 lambda 允许您使用任何二进制文件,并且 wkhtmltopdf 有一个可以在 lambda 中使用的单独版本。谢谢你的建议。当有多个层时,我将做更多关于路径如何工作的研究。干杯! wkhtmltopdf.org/downloads.html

标签: python amazon-web-services aws-lambda aws-lambda-layers


【解决方案1】:

根据OP的评论,正确的路径应该是/opt/bin/wkhtmltopdf.exe

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 2017-07-20
    • 2021-03-01
    • 2015-08-24
    • 2020-06-02
    相关资源
    最近更新 更多