【发布时间】:2019-10-31 04:05:12
【问题描述】:
foochart.save("foo.svg")requires Selenium and Chrome- or Gecko-driver.
试图在我的 PythonAnywhere 实例上进行设置。那里的人向我指出了这个链接showing how to use Selenium inside PythonAnywhere。
值得注意的是,他们说只安装v2 Selenium。我安装了selenium-2.53.6
但看起来它不起作用,而且我怀疑 altair 需要更新版本,因为失败读取就像 __init__ 签名可能已更改:TypeError: __init__() got an unexpected keyword argument 'options'
任何人都可以就此提出建议吗?我真的很沮丧,我无法让 altair 和 pythonAnywhere 合作——当我不必使用 matplotlib 时,生成的图表要好得多,但我的服务器东西在 PythonAnywhere 中运行。
完整的代码和堆栈跟踪:
iris = data.iris()
foo = alt.Chart(iris).mark_point().encode(
x='petalLength',
y='petalWidth',
color='species'
)
foo.save("foo.png")
堆栈跟踪:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-6aeea1cba6a3> in <module>
----> 1 foo.save("foo.png")
~/.virtualenvs/modern2019/lib/python3.6/site-packages/altair/vegalite/v2/api.py in save(self, fp, format, override_data_transformer, scale_factor, vegalite_version, vega_version, vegaembed_version, **kwargs)
515 if override_data_transformer:
516 with data_transformers.enable('default', max_rows=None):
--> 517 result = save(**kwds)
518 else:
519 result = save(**kwds)
~/.virtualenvs/modern2019/lib/python3.6/site-packages/altair/utils/save.py in save(chart, fp, vega_version, vegaembed_version, format, mode, vegalite_version, embed_options, json_kwds, webdriver, scale_factor)
100 vegaembed_version=vegaembed_version,
101 webdriver=webdriver,
--> 102 scale_factor=scale_factor)
103 if format == 'png':
104 write_file_or_filename(fp, mimebundle['image/png'], mode='wb')
~/.virtualenvs/modern2019/lib/python3.6/site-packages/altair/utils/mimebundle.py in spec_to_mimebundle(spec, format, mode, vega_version, vegaembed_version, vegalite_version, **kwargs)
54 vega_version=vega_version,
55 vegaembed_version=vegaembed_version,
---> 56 vegalite_version=vegalite_version, **kwargs)
57 if format == 'png':
58 render = base64.b64decode(render.split(',', 1)[1].encode())
~/.virtualenvs/modern2019/lib/python3.6/site-packages/altair/utils/headless.py in compile_spec(spec, format, mode, vega_version, vegaembed_version, vegalite_version, scale_factor, driver_timeout, webdriver)
152 webdriver_options.add_argument('--no-sandbox')
153
--> 154 driver = webdriver_class(options=webdriver_options)
155
156 try:
TypeError: __init__() got an unexpected keyword argument 'options'
【问题讨论】:
标签: selenium pythonanywhere altair