我的脚本在迁移服务器之前运行良好,但是现在出现了一些我无法修复的错误。这是安装了Plesk控制面板的Ubuntu服务器,错误消息如下:
['/ usr / bin / xvfb-run / usr / bin / wkhtmltoimage','/tmp/tmpdoRlkR/edited.html','/tmp/9300606835df125c28d1288.77555331.png']追溯(最近一次拨打电话) :在subprocess.call([[/ usr / bin / xvfb-run / usr / bin / wkhtmltoimage“,htmlfile,args.output])中的文件“ invoice_gen.py”,第140行,文件“ / usr / lib / python2。 7 / subprocess.py”,第523行,在调用返回Popen(* popenargs,** kwargs).wait()文件“ /usr/lib/python2.7/subprocess.py”,第711行,在 init中 errread,errwrite)文件“ /usr/lib/python2.7/subprocess.py”,行1343,在_execute_child中引发child_exception OSError:[Errno 2]没有这样的文件或目录
答案 0 :(得分:0)
您似乎没有在新服务器上安装/usr/bin/xvfb-run
。
我相信这是xvfb软件包https://zoomadmin.com/HowToInstall/UbuntuPackage/xvfb
如果它不起作用,请尝试将命令中的第一个参数“拆分”为2个数组项。像'/usr/bin/xvfb-run /usr/bin/wkhtmltoimage'
一样传递'/usr/bin/xvfb-run', '/usr/bin/wkhtmltoimage'
。
所以最后的通话应该是
subprocess.call(["/usr/bin/xvfb-run", "/usr/bin/wkhtmltoimage", htmlfile, args.output])
代替
subprocess.call(["/usr/bin/xvfb-run /usr/bin/wkhtmltoimage", htmlfile, args.output])
问题出在wkhtmltoimage路径上!它已安装到/usr/local/bin/wkhtmltoimage
而不是/usr/bin/wkhtmltoimage
上,现在即使没有xvfb,它也可以工作!