Skip to content

Matplotlib backend not specified by default in Windows machines [Python: Julia: UndefVarError: Core not defined in PythonCall.Compat]#676

@BoundaryValueProblems

Description

@BoundaryValueProblems

I just updated PythonCall.jl to v0.9.28 and Julia to v1.11.7 on my Window 11 machine. With the previous versions, i.e., v0.9.27 and v1.11.6, respectively, I didn't have to set up the backend of matplotlib.pyplot explicitly. However, with the current new versions, the backend is not specified by default, and got the following error. I don't have any problems on my iMac. Only under Windows, I encountered this problem. What's wrong here?

julia> using PythonCall julia> plt=pyimport("matplotlib.pyplot") Python: <module 'matplotlib.pyplot' from 'C:\\Users\\xxx\\.julia\\environments\\v1.11\\.CondaPkg\\.pixi\\envs\\default\\Lib\\site-packages\\matplotlib\\pyplot.py'> julia> plt.get_backend() ERROR: Python: Julia: UndefVarError: `Core` not defined in `PythonCall.Compat` Hint: It looks like two or more modules export different bindings with this name, resulting in ambiguity. Try explicitly importing it from a particular module, or qualifying the name with the module it should come from. Hint: a global variable of this name also exists in Core. Stacktrace: [1] (::PythonCall.Compat.var"#1#2")() @ PythonCall.Compat C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Compat\gui.jl:162 [2] pyjlany_call(self::PythonCall.Compat.var"#1#2", args_::Py, kwargs_::Py) @ PythonCall.JlWrap C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\JlWrap\any.jl:49 [3] _pyjl_callmethod(f::Any, self_::Ptr{PythonCall.C.PyObject}, args_::Ptr{PythonCall.C.PyObject}, nargs::Int64) @ PythonCall.JlWrap C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\JlWrap\base.jl:71 [4] _pyjl_callmethod(o::Ptr{PythonCall.C.PyObject}, args::Ptr{PythonCall.C.PyObject}) @ PythonCall.JlWrap.Cjl C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\JlWrap\C.jl:63 [5] PyObject_CallObject @ C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\C\pointers.jl:300 [inlined] [6] macro expansion @ C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Core\Py.jl:118 [inlined] [7] pycallargs(f::Py) @ PythonCall.Core C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Core\builtins.jl:193 [8] #pycall#21 @ C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Core\builtins.jl:217 [inlined] [9] pycall @ C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Core\builtins.jl:203 [inlined] [10] (::Py)() @ PythonCall.Core C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Core\Py.jl:334 [11] top-level scope @ REPL[3]:1 [12] eval @ .\boot.jl:430 [inlined] [13] eval @ .\Base.jl:130 [inlined] [14] repleval(m::Module, code::Expr, ::String) @ VSCodeServer c:\Users\xxx\.vscode\extensions\julialang.language-julia-1.149.2\scripts\packages\VSCodeServer\src\repl.jl:229 [15] #112 @ c:\Users\xxx\.vscode\extensions\julialang.language-julia-1.149.2\scripts\packages\VSCodeServer\src\repl.jl:192 [inlined] [16] with_logstate(f::VSCodeServer.var"#112#114"{…}, logstate::Base.CoreLogging.LogState) @ Base.CoreLogging .\logging\logging.jl:524 [17] with_logger @ .\logging\logging.jl:635 [inlined] [18] (::VSCodeServer.var"#111#113"{Module, Expr, REPL.LineEditREPL, REPL.LineEdit.Prompt})() @ VSCodeServer c:\Users\xxx\.vscode\extensions\julialang.language-julia-1.149.2\scripts\packages\VSCodeServer\src\repl.jl:193 [19] #invokelatest#2 @ .\essentials.jl:1055 [inlined] [20] invokelatest(::Any) @ Base .\essentials.jl:1052 [21] (::VSCodeServer.var"#64#65")() @ VSCodeServer c:\Users\xxx\.vscode\extensions\julialang.language-julia-1.149.2\scripts\packages\VSCodeServer\src\eval.jl:34 Python stacktrace: [1] __call__ @ C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\JlWrap\any.jl:262 [2] find_module @ <string>:9 [3] _find_spec_legacy @ <frozen importlib._bootstrap>:1050 [4] _find_spec @ <frozen importlib._bootstrap>:1076 [5] _find_and_load_unlocked @ <frozen importlib._bootstrap>:1140 [6] _find_and_load @ <frozen importlib._bootstrap>:1178 [7] _setup_pyqt5plus @ C:\Users\xxx\.julia\environments\v1.11\.CondaPkg\.pixi\envs\default\Lib\site-packages\matplotlib\backends\qt_compat.py:79 [8] <module> @ C:\Users\xxx\.julia\environments\v1.11\.CondaPkg\.pixi\envs\default\Lib\site-packages\matplotlib\backends\qt_compat.py:125 [9] <module> @ C:\Users\xxx\.julia\environments\v1.11\.CondaPkg\.pixi\envs\default\Lib\site-packages\matplotlib\backends\backend_qtagg.py:9 [10] _call_with_frames_removed @ <frozen importlib._bootstrap>:241 [11] exec_module @ <frozen importlib._bootstrap_external>:940 [12] _load_unlocked @ <frozen importlib._bootstrap>:690 [13] _find_and_load_unlocked @ <frozen importlib._bootstrap>:1149 [14] _find_and_load @ <frozen importlib._bootstrap>:1178 [15] _gcd_import @ <frozen importlib._bootstrap>:1206 [16] import_module @ importlib C:\Users\xxx\.julia\environments\v1.11\.CondaPkg\.pixi\envs\default\Lib\importlib\__init__.py:126 [17] load_backend_module @ matplotlib.backends.registry C:\Users\xxx\.julia\environments\v1.11\.CondaPkg\.pixi\envs\default\Lib\site-packages\matplotlib\backends\registry.py:323 [18] switch_backend @ matplotlib.pyplot C:\Users\xxx\.julia\environments\v1.11\.CondaPkg\.pixi\envs\default\Lib\site-packages\matplotlib\pyplot.py:415 [19] switch_backend @ matplotlib.pyplot C:\Users\xxx\.julia\environments\v1.11\.CondaPkg\.pixi\envs\default\Lib\site-packages\matplotlib\pyplot.py:400 [20] __getitem__ @ matplotlib C:\Users\xxx\.julia\environments\v1.11\.CondaPkg\.pixi\envs\default\Lib\site-packages\matplotlib\__init__.py:764 [21] get_backend @ matplotlib C:\Users\xxx\.julia\environments\v1.11\.CondaPkg\.pixi\envs\default\Lib\site-packages\matplotlib\__init__.py:1281 Stacktrace: [1] pythrow() @ PythonCall.Core C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Core\err.jl:77 [2] errcheck @ C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Core\err.jl:10 [inlined] [3] pycallargs(f::Py) @ PythonCall.Core C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Core\builtins.jl:193 [4] #pycall#21 @ C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Core\builtins.jl:217 [inlined] [5] pycall @ C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Core\builtins.jl:203 [inlined] [6] (::Py)() @ PythonCall.Core C:\Users\xxx\.julia\packages\PythonCall\mkWc2\src\Core\Py.jl:334 [7] top-level scope @ REPL[3]:1 Some type information was truncated. Use `show(err)` to see complete types. 

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions