[英]Plotly write.image() freezes with kaleido 0.2.1
I read tens of related questions but none of them solved my issue.我阅读了数十个相关问题,但没有一个能解决我的问题。
Currently I'm using Python 3.9.12 in a conda environment (named 'plot_env', conda version = 4.13.0).目前我在 conda 环境中使用 Python 3.9.12(名为“plot_env”,conda 版本 = 4.13.0)。 For completeness here I show conda info and conda list output.
为了完整起见,我在这里展示了 conda info 和 conda list output。
(plot_env) PS C:\windows\System32> conda info
active environment : plot_env
active env location : C:\Users\mirko\anaconda3\envs\plot_env
shell level : 2
user config file : C:\Users\mirko\.condarc
populated config files : C:\Users\mirko\.condarc
conda version : 4.13.0
conda-build version : 3.21.8
python version : 3.9.12.final.0
virtual packages : __win=0=0=1=x86_64
base environment : C:\Users\mirko\anaconda3 (writable)
conda av data dir : C:\Users\mirko\anaconda3\etc\conda
conda av metadata url : None
channel URLs : https://repo.anaconda.com/pkgs/main/win-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/win-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/msys2/win-64
https://repo.anaconda.com/pkgs/msys2/noarch
package cache : C:\Users\mirko\anaconda3\pkgs
C:\Users\mirko\.conda\pkgs
C:\Users\mirko\AppData\Local\conda\conda\pkgs
envs directories : C:\Users\mirko\anaconda3\envs
C:\Users\mirko\.conda\envs
C:\Users\mirko\AppData\Local\conda\conda\envs
platform : win-64
user-agent : conda/4.13.0 requests/2.27.1 CPython/3.9.12 Windows/10 Windows/10.0.22000
administrator : False
netrc file : None
offline mode : False
(plot_env) PS C:\windows\System32> conda list
# packages in environment at
C:\Users\mirko\anaconda3\envs\plot_env:
#
# Name Version Build
Channel
asttokens 2.0.8 pypi_0 pypi
attrs 22.1.0 pypi_0 pypi
backcall 0.2.0 pypi_0 pypi
ca-certificates 2022.07.19 haa95532_0
certifi 2022.6.15 py39haa95532_0
colorama 0.4.5 pypi_0 pypi
debugpy 1.6.3 pypi_0 pypi
decorator 5.1.1 pypi_0 pypi
entrypoints 0.4 pypi_0 pypi
et-xmlfile 1.1.0 pypi_0 pypi
executing 0.10.0 pypi_0 pypi
fastjsonschema 2.16.1 pypi_0 pypi
ipykernel 6.15.1 pypi_0 pypi
ipython 8.4.0 pypi_0 pypi
jedi 0.18.1 pypi_0 pypi
jsonschema 4.10.3 pypi_0 pypi
jupyter-client 7.3.4 pypi_0 pypi
jupyter-core 4.11.1 pypi_0 pypi
kaleido 0.2.1 pypi_0 pypi
matplotlib-inline 0.1.6 pypi_0 pypi
nbformat 5.4.0 pypi_0 pypi
nest-asyncio 1.5.5 pypi_0 pypi
numpy 1.23.2 pypi_0 pypi
openpyxl 3.0.10 pypi_0 pypi
openssl 1.1.1q h2bbff1b_0
packaging 21.3 pypi_0 pypi
pandas 1.4.3 pypi_0 pypi
parso 0.8.3 pypi_0 pypi
pickleshare 0.7.5 pypi_0 pypi
pip 22.1.2 py39haa95532_0
plotly 5.10.0 pypi_0 pypi
prompt-toolkit 3.0.30 pypi_0 pypi
psutil 5.9.1 pypi_0 pypi
pure-eval 0.2.2 pypi_0 pypi
pygments 2.13.0 pypi_0 pypi
pyparsing 3.0.9 pypi_0 pypi
pyrsistent 0.18.1 pypi_0 pypi
python 3.9.12 h6244533_0
python-dateutil 2.8.2 pypi_0 pypi
pytz 2022.2.1 pypi_0 pypi
pywin32 304 pypi_0 pypi
pyzmq 23.2.1 pypi_0 pypi
setuptools 61.2.0 py39haa95532_0
six 1.16.0 pypi_0 pypi
sqlite 3.39.2 h2bbff1b_0
stack-data 0.4.0 pypi_0 pypi
tenacity 8.0.1 pypi_0 pypi
tornado 6.2 pypi_0 pypi
traitlets 5.3.0 pypi_0 pypi
tzdata 2022a hda174b7_0
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wcwidth 0.2.5 pypi_0 pypi
wheel 0.37.1 pyhd3eb1b0_0
wincertstore 0.2 py39haa95532_2
import plotly.express as px
import plotly.io as pio
x = [1,2,3]
y = [2,3,4]
fig=px.scatter(x, y)
pio.write_image(fig, './figure', format='png')
After running this script the write.image() command freeze and the output in the terminal doen't show anything.运行此脚本后,write.image() 命令冻结,终端中的 output 不显示任何内容。
Following some tips i found on the internet I tried:按照我在互联网上找到的一些提示,我尝试了:
Installing kaleido 0.1.0: this just turned the problem to something else.安装 kaleido 0.1.0:这只是将问题转为其他问题。 When i try to run the script with kaleido 0.1.0 the output is the following
当我尝试使用 kaleido 0.1.0 运行脚本时,output 如下
The kaleido executable is required by the kaleido Python library,
but it was not included in the Python package and it could not be found on the system PATH.
Searched for included kaleido executable at:
C:\Program Files\GitHub CLI
C:\Users\mirko\AppData\Local\Microsoft\WindowsApps
C:\Users\mirko\AppData\Local\Programs\Microsoft VS Code\bin
C:\Users\mirko\anaconda3\Library\bin
C:\Users\mirko\anaconda3\Scripts
C:\Users\mirko\anaconda3\condabin
C:\Users\mirko\AppData\Local\GitHubDesktop\bin
C:\Program Files\heroku\bin
So I added the specific path to my kaleido.cmd to Path, but this passage looks pretty sketchy to me because it means I will need to repeat it every time i create a new environment with kaleido installed.所以我将我的 kaleido.cmd 的特定路径添加到 Path 中,但这段话对我来说看起来很粗略,因为这意味着我每次创建安装了 kaleido 的新环境时都需要重复它。
This solved the issue: I exported the correct png image.这解决了问题:我导出了正确的 png 图像。 So my main question is: How do I solve this problem once and for all?
所以我的主要问题是:如何一劳永逸地解决这个问题?
Using kaleido 0.2.1: nothing seems to solve the issue.使用 kaleido 0.2.1:似乎没有什么能解决问题。 The terminal just freezes and i can't use ctrl+C to print a log of the errors.
终端只是冻结,我无法使用 ctrl+C 打印错误日志。 I tried setting
pio.kaleido.scope.mathjax = None
but it did nothing.我尝试设置
pio.kaleido.scope.mathjax = None
但它什么也没做。
You can probably get away with:你可能会逃脱:
conda install -c conda-forge kaleido-core=0.2.1
However, I'd lean toward recreating the environment with Conda packages prioritized (at least for stuff that needs non-Python components):但是,我倾向于重新创建优先使用 Conda 包的环境(至少对于需要非 Python 组件的东西):
conda create -n plot_env2 -c conda-forge python=3.9 python-kaleido
so that Conda can properly handle all the non-Python dependencies, which is its specialty.以便 Conda 能够正确处理所有非 Python 依赖项,这是它的专长。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.