bubble up error on python > `import matplotlib` (e.g. bogus MPLBACKEND)
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
调研方向
在 Julia 中重现无效的 MPLBACKEND 情况,并将其与 Python traceback 进行比较。从堆栈跟踪中显示的 init 调用附近的 PyPlot/src/init.jl 开始,然后检查 PyCall 的 pyimport_conda 路径;当导入暴露出底层的 matplotlib 错误,并且不必要的 Conda 行为得到理解或修正时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
julia> ENV["MPLBACKEND"]="aaaaaaaaaagtk"; import PyPlot;
[ Info: Installing matplotlib via the Conda matplotlib package...
[ Info: Running `conda install -y matplotlib` in root environment
Collecting package metadata (current_repodata.json): done
Solving environment: done
# All requested packages already installed.
ERROR: InitError: PyCall.PyError("PyImport_ImportModule", PyCall.PyObject(Ptr{PyCall.PyObject_struct} @0x0000000135d73760), PyCall.PyObject(Ptr{PyCall.PyObject_struct} @0x000000013a353b30), PyCall.PyObject(Ptr{PyCall.PyObject_struct} @0x000000013a35eaf0))
Stacktrace:
[1] pyimport(::String) at /Users/goretkin/.julia/packages/PyCall/zqDXB/src/PyCall.jl:536
[2] pyimport_conda(::String, ::String, ::String) at /Users/goretkin/.julia/packages/PyCall/zqDXB/src/PyCall.jl:700
[3] pyimport_conda at /Users/goretkin/.julia/packages/PyCall/zqDXB/src/PyCall.jl:693 [inlined]
[4] __init__() at /Users/goretkin/.julia/packages/PyPlot/XHEG0/src/init.jl:179
[5] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:692
[6] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:776
[7] _require(::Base.PkgId) at ./loading.jl:1001
[8] require(::Base.PkgId) at ./loading.jl:922
[9] require(::Module, ::Symbol) at ./loading.jl:917
during initialization of module PyPlot
is different from
>>> import os; os.environ["MPLBACKEND"] = "aaaaaaagtk"
>>> import matplotlib
Traceback (most recent call last):
File "/Users/goretkin/.julia/conda/3/lib/python3.7/site-packages/matplotlib/__init__.py", line 802, in __setitem__
cval = self.validate[key](val)
File "/Users/goretkin/.julia/conda/3/lib/python3.7/site-packages/matplotlib/rcsetup.py", line 266, in validate_backend
else _validate_standard_backends(s))
File "/Users/goretkin/.julia/conda/3/lib/python3.7/site-packages/matplotlib/rcsetup.py", line 64, in __call__
% (self.key, s, list(self.valid.values())))
ValueError: Unrecognized backend string 'aaaaaaagtk': valid strings are ['GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/goretkin/.julia/conda/3/lib/python3.7/site-packages/matplotlib/__init__.py", line 1317, in <module>
rcParams['backend'] = os.environ.get('MPLBACKEND')
File "/Users/goretkin/.julia/conda/3/lib/python3.7/site-packages/matplotlib/__init__.py", line 804, in __setitem__
raise ValueError("Key %s: %s" % (key, str(ve)))
ValueError: Key backend: Unrecognized backend string 'aaaaaaagtk': valid strings are ['GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template']
>>>
Seems also to be unnecessarily doing something with conda.
- 主要语言
- Julia
- 星标
- 489
- 派生
- 90
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
JuliaPy/PyPlot.jl 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 45/100
-
julia PyPlot support missing data可能已有人在做 @deszoeke 于 668 天前认领。 未关闭
难度 4/5 3-5 天 新手友好度 45/100
-
难度 3/5 1-2 天 新手友好度 30/100
-
难度 3/5 1-2 天 新手友好度 35/100
-
难度 4/5 3-5 天 新手友好度 25/100
查看 JuliaPy/PyPlot.jl 的全部 Issue
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 88/100
-
难度 2/5 1-3 小时 新手友好度 72/100
oxfordcontrol/COSMO.jl#211 ·
-
documentation
难度 2/5 半天 新手友好度 65/100
维护者通常 6 天内回复
-
Out-of-place JLArray/GPU problem with VectorContinuousCallback scalar-indexes (callback cache built with CPU zeros)可能已有人在做 @ChrisRackauckas-Claude 于 1 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 74/100
SciML/OrdinaryDiffEq.jl#4813 ·
维护者通常 1 天内回复
-
ARKODE: callbacks that modify `u` throw MethodError on reinit可能已有人在做 @devmotion 于 1 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 79/100
SciML/Sundials.jl#575 ·