我有一个在远程 Ubuntu 服务器上运行的 python 脚本。在我的代码中的某个时刻,我创建了一个 HTML 文件,然后将其转换为 png。因此,我选择使用 imgkit,它能很好地完成这项工作(在将 python 脚本上传到远程 Ubuntu 服务器之前,我在 Mac 操作系统上测试了我的代码):
import imgkit
imgkit.from_url('MyFile.html', 'MyFile.png')
现在,问题是Ubuntu服务器没有安装imgkit和wkhtmltopdf。所以我运行了以下命令:
sudo pip install imgkit
Then:
sudo apt-get install wkhtmltopdf
然后它返回了错误:
QXcbConnection: Could not connect to display
Could not connect to any X display.
You need to install xvfb(sudo apt-get install xvfb, yum install xorg-x11-server-Xvfb, etc),
then add option: {"xvfb": ""}.
到目前为止,一切都很好。因此我运行了以下命令:
sudo apt-get install xvfb
这有效。但 Ubuntu 服务器仍然返回相同的错误。现在,一方面,我不知道是什么:then add option: {"xvfb": ""}.
甚至意味着。我试图在网上寻找答案,人们之前引用过这一点,但没有解释人们应该在终端中实际做什么或写什么。我还觉得我缺少 wkhtmltopdf 的扩展,但我不确定是哪个(再次,我进行了在线搜索,但此时我比其他任何事情都更困惑。我在堆栈溢出上发现了类似的线程,但没有什么像问题一样)我正在经历)。任何帮助将不胜感激。
非常感谢你
此致,
贝尔蒂
我找到了解决方法。
事实证明,消息中的解决方案非常明确,但我们设法忽略了这一点。
所以使用这个命令后sudo apt-get install xvfb
,
我们所要做的就是添加{"xvfb": ""}
在选项字典中并将其传递给方法。
For Eg:
options={'xvfb': ''}
imgkit.from_url('http://google.com', 'out.png', options=options)
我希望这有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)