Closed glanzkaiser closed 1 year ago
Already done by creating a new folder then type this:
julia> ENV["PYTHON"] = "/home/browni/.julia/conda/3/envs/pyplot_env/bin/python3"
julia> import Pkg;
julia> Pkg.add("Conda")
julia> import Conda
julia> Conda.update()
julia> Pkg.build("PyPlot")
julia> using IJulia
julia> notebook()
Then the plot can be done nicely
Dear all,
I am having this issue,
already wrote a lot here: https://discourse.julialang.org/t/ijulia-and-pyplot-backend-problem-with-old-python-version/85216/9
I am guessing it is on PyCall that is making the wrong call for matplotlib. Maybe it is still looking at Python 3.6 in my main OS system, instead of look for matplotlib in my new conda environment that is necessary to run pyplot().
I have installed newest matplotlib under new conda environment called pyplot_env then activate Julia environment and try a simple pyplot() backend plot:
The warning still occurs: Warning: You are using Matplotlib 3.3.4, which is no longer │ officialy supported by the Plots community. To ensure smooth Plots.jl │ integration update your Matplotlib library to a version >= 3.4.0 │ │ If you have used Conda.jl to install PyPlot (default installation), │ upgrade your matplotlib via Conda.jl and rebuild the PyPlot. │ │ If you are not sure, here are the default instructions: │ │ In Julia REPL: │ │ import Pkg; │ Pkg.add("Conda") │ import Conda │ Conda.update() │ Pkg.build("PyPlot") │ │ └ @ Plots /home/browni/.julia/packages/Plots/SkUg1/src/backends/pyplot.jl:29
Then the error:
Error showing value of type Plots.Plot{Plots.PyPlotBackend}: ERROR: PyError ($(Expr(:escape, :(ccall(#= /home/browni/.julia/packages/PyCall/7a7w0/src/pyfncall.jl:43 =# @pysym(:PyObject_Call), PyPtr, (PyPtr, PyPtr, PyPtr), o, pyargsptr, kw))))) <class 'AttributeError'> AttributeError("'Text' object has no property 'math_fontfamily'",) File "/home/browni/.local/lib/python3.6/site-packages/matplotlib/colorbar.py", line 761, in set_label self._set_label() File "/home/browni/.local/lib/python3.6/site-packages/matplotlib/colorbar.py", line 731, in _set_label self.ax.set_ylabel(self._label, self._labelkw) File "/home/browni/.local/lib/python3.6/site-packages/matplotlib/axes/_axes.py", line 300, in set_ylabel return self.yaxis.set_label_text(ylabel, fontdict, **kwargs) File "/home/browni/.local/lib/python3.6/site-packages/matplotlib/axis.py", line 1566, in set_label_text self.label.update(kwargs) File "/home/browni/.local/lib/python3.6/site-packages/matplotlib/text.py", line 179, in update super().update(kwargs) File "/home/browni/.local/lib/python3.6/site-packages/matplotlib/artist.py", line 996, in update raise AttributeError(f"{type(self).name!r} object "
Stacktrace: [1] pyerr_check @ ~/.julia/packages/PyCall/7a7w0/src/exception.jl:62 [inlined] [2] pyerr_check @ ~/.julia/packages/PyCall/7a7w0/src/exception.jl:66 [inlined] [3] _handle_error(msg::String) @ PyCall ~/.julia/packages/PyCall/7a7w0/src/exception.jl:83 [4] macro expansion @ ~/.julia/packages/PyCall/7a7w0/src/exception.jl:97 [inlined] [5] #107 @ ~/.julia/packages/PyCall/7a7w0/src/pyfncall.jl:43 [inlined] [6] disable_sigint @ ./c.jl:458 [inlined] [7] __pycall! @ ~/.julia/packages/PyCall/7a7w0/src/pyfncall.jl:42 [inlined] [8] _pycall!(ret::PyCall.PyObject, o::PyCall.PyObject, args::Tuple{String}, nargs::Int64, kw::PyCall.PyObject) @ PyCall ~/.julia/packages/PyCall/7a7w0/src/pyfncall.jl:29 [9] _pycall!(ret::PyCall.PyObject, o::PyCall.PyObject, args::Tuple{String}, kwargs::Base.Pairs{Symbol, Any, NTuple{4, Symbol}, NamedTuple{(:size, :family, :mathfontfamily, :color), Tuple{Int64, String, String, NTuple{4, FixedPointNumbers.N0f8}}}}) @ PyCall ~/.julia/packages/PyCall/7a7w0/src/pyfncall.jl:11 [10] ##114 @ ~/.julia/packages/PyCall/7a7w0/src/pyfncall.jl:86 [inlined] [11] _before_layout_calcs(plt::Plots.Plot{Plots.PyPlotBackend}) @ Plots ~/.julia/packages/Plots/SkUg1/src/backends/pyplot.jl:1155 [12] prepare_output(plt::Plots.Plot{Plots.PyPlotBackend}) @ Plots ~/.julia/packages/Plots/SkUg1/src/plot.jl:218 [13] display(#unused#::Plots.PlotsDisplay, plt::Plots.Plot{Plots.PyPlotBackend}) @ Plots ~/.julia/packages/Plots/SkUg1/src/output.jl:139 [14] display(x::Any) @ Base.Multimedia ./multimedia.jl:328 [15] #invokelatest#2 @ ./essentials.jl:716 [inlined] [16] invokelatest @ ./essentials.jl:714 [inlined] [17] print_response(errio::IO, response::Any, show_value::Bool, have_color::Bool, specialdisplay::Union{Nothing, AbstractDisplay}) @ REPL ~/julia-1.7.3/share/julia/stdlib/v1.7/REPL/src/REPL.jl:293 [18] (::REPL.var"#45#46"{REPL.LineEditREPL, Pair{Any, Bool}, Bool, Bool})(io::Any) @ REPL ~/julia-1.7.3/share/julia/stdlib/v1.7/REPL/src/REPL.jl:277 [19] with_repl_linfo(f::Any, repl::REPL.LineEditREPL) @ REPL ~/julia-1.7.3/share/julia/stdlib/v1.7/REPL/src/REPL.jl:510 [20] print_response(repl::REPL.AbstractREPL, response::Any, show_value::Bool, have_color::Bool) @ REPL ~/julia-1.7.3/share/julia/stdlib/v1.7/REPL/src/REPL.jl:275 [21] (::REPL.var"#do_respond#66"{Bool, Bool, REPL.var"#77#87"{REPL.LineEditREPL, REPL.REPLHistoryProvider}, REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::Any, ok::Bool) @ REPL ~/julia-1.7.3/share/julia/stdlib/v1.7/REPL/src/REPL.jl:846 [22] #invokelatest#2 @ ./essentials.jl:716 [inlined] [23] invokelatest @ ./essentials.jl:714 [inlined] [24] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState) @ REPL.LineEdit ~/julia-1.7.3/share/julia/stdlib/v1.7/REPL/src/LineEdit.jl:2493 [25] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef) @ REPL ~/julia-1.7.3/share/julia/stdlib/v1.7/REPL/src/REPL.jl:1232 [26] (::REPL.var"#49#54"{REPL.LineEditREPL, REPL.REPLBackendRef})() @ REPL ./task.jl:429**