wkhtmltopdf не работает при развертывании в python-приложении heroku с использованием (Flask) pdfkit и wkhtmltopdf

Я нахожусь в процессе преобразования файлов HTML в pdf в python и прикрепить эти файлы PDF к почте и обработать его

  • Я установил pdfkit(0.6.1), wkhtmltopdf(0.2), а также wkhtmltopdf для Windows. И добавил wkhtmltopdf bin путь. Он работает в моей локальной системе без каких-либо проблем, вот мой код

    url=""
    PDF = pdfkit.from_url(url, False)
    result= SendPDFtomail(PDF)
    return result 
    
  • Когда я попытался вставить тот же код в heroku, добавив buildpack для wkhtmltopdf и buildpacks для моего приложения

      1. heroku/python
      2. https://github.com/dscout/wkhtmltopdf-buildpack.git
    
  • Когда я толкаю свою сборку к героку

       git push heroku master
       Counting objects: 3, done.
       Delta compression using up to 4 threads.
       Compressing objects: 100% (3/3), done.
       Writing objects: 100% (3/3), 336 bytes | 84.00 KiB/s, done.
       Total 3 (delta 2), reused 0 (delta 0)
       remote: Compressing source files... done.
       remote: Building source:
       remote:
       remote: -----> Python app detected
       remote:  !     The latest version of Python 3.6 is python-3.6.6 (you 
       are using python-3.6.4, which is unsupported).
       remote:  !     We recommend upgrading by specifying the latest version 
       (python-3.6.6).
       remote:        Learn More: 
       https://devcenter.heroku.com/articles/python-runtimes
       remote: -----> Installing requirements with pip
       remote:
       remote: -----> wkhtmltopdf app detected
       remote: -----> Moving wkhtmltopdf binaries to /app/bin
       remote: -----> Discovering process types
       remote:        Procfile declares types -> web
       remote:
       remote: -----> Compressing...
       remote:        Done: 103.8M
       remote: -----> Launching...
       remote:        Released v19
       remote:        https://XXXXXXX.herokuapp.com/ deployed to 
       Heroku
       remote:
       remote: Verifying deploy... done.
    

мое приложение было развернуто без каких-либо проблем, и когда я запускаю код в Heroku, я получаю сообщение об ошибке

      Exception :No wkhtmltopdf executable found: "b''"
      If this file exists please check that this process can read it. 
      Otherwise please install wkhtmltopdf - 
      https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf

это та же самая ошибка, которую я получил, когда я не добавил путь wkhtmltopdf в систему, как мы видим в моей сборке Moving wkhtmltopdf binaries to /app/binКак я могу настроить свой Heroku для этого двоичного пути wkhtmltopdf? как мы можем использовать конфигурационные переменные в Heroku, чтобы сделать эту работу

Я пробовал это создание-pdfs-wkhtmltopdf-heroku, но не смог получить его. И где бы я ни искал, я получаю решения для ruby, которые нам нужны для настройки файла gem, как я могу сделать это в python?

Я работал над этим с последних двух дней, пожалуйста, помогите мне

заранее спасибо

Мегана Гауд

0 ответов

Я сейчас использую OSX и heroku для развертывания моего приложения фляги. Когда развернутый файл heroku, файл wkhtmltopdf находится в./bin/wkhtmltopdf. Поэтому я написал этот код, чтобы справиться с этим.

if (platform.system() == 'Darwin'):
    config = pdfkit.configuration()
else:
    config = pdfkit.configuration(wkhtmltopdf='./bin/wkhtmltopdf')
Другие вопросы по тегам