FileNotFoundError: [Errno 2] No such file or directory: 'which' when using python pdfkit [英] FileNotFoundError: [Errno 2] No such file or directory: 'which' when using python pdfkit

查看:119
本文介绍了FileNotFoundError: [Errno 2] No such file or directory: 'which' when using python pdfkit的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个奇怪的错误.我尝试使用 pdfkit 将 HTML 字符串转换为 PDF,但我收到没有这样的文件或目录:'which'".我知道 pdfkit 使用 wkhtmltopdf,它试图通过使用 which 来找到这个实用程序.我不知道发生了什么.'which' 工作正常并且 wkhtmltopdf 安装在/usr/bin/上.我在这一行收到错误:

I have a strange error. I try to use pdfkit to convert an HTML string to PDF, but i get a "No such file or directory: 'which'". I know that pdfkit uses wkhtmltopdf, and it tries to find this utility by using which. I have no idea what's happening. 'which' works ok and wkhtmltopdf is installed on /usr/bin/. I get the error in this line:

pdf = pdfkit.from_string(html, False, options=options)

和回溯:

Traceback:  

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
  39.             response = get_response(request)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)

File "/srv/zboss-git/zboss/issues/views.py" in export_comments
  453.     pdf = pdfkit.from_string(html, False, options=options)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/pdfkit/api.py" in from_string
  66.                configuration=configuration)

File "/srv/zboss-git/venv/lib/python3.5/site-packages/pdfkit/pdfkit.py" in __init__
  38.         self.configuration = (Configuration() if configuration is None

File "/srv/zboss-git/venv/lib/python3.5/site-packages/pdfkit/configuration.py" in __init__
  18.                     ['which', 'wkhtmltopdf'], stdout=subprocess.PIPE).communicate()[0].strip()

File "/usr/lib/python3.5/subprocess.py" in __init__
  947.                                 restore_signals, start_new_session)

File "/usr/lib/python3.5/subprocess.py" in _execute_child
  1551.                     raise child_exception_type(errno_num, err_msg)

Exception Type: FileNotFoundError at /issues/export_comments/
Exception Value: [Errno 2] No such file or directory: 'which'

推荐答案

我找到了解决方案.

根据python-pdfkit的文档:

According the documentation of python-pdfkit:

Warning! Version in debian/ubuntu repos have reduced functionality (because it compiled without the wkhtmltopdf QT patches), such as adding outlines, headers, footers, TOC etc. To use this options you should install static binary from wkhtmltopdf site or you can use this script.

脚本:

https://github.com/JazzCore/python-pdfkit/blob/master/travis/before-script.sh

我卸载了我的版本并运行了这个版本.我还手动设置了我的配置:

I uninstall my version and run this version. I also set up manually my configuration:

    config = pdfkit.configuration(wkhtmltopdf=bytes('/usr/bin/wkhtmltopdf', 'utf-8'))
    pdf = pdfkit.from_string(html, False, options=options, configuration=config)

瞧!

这篇关于FileNotFoundError: [Errno 2] No such file or directory: 'which' when using python pdfkit的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆