title: Warning: PyPlot is using tkagg backend, which is known to cause crashes on MacOS
body: <p>Does anyone knows how to change the <code>backend</code> of <code>PyPlot</code> from <code>"TkAgg"</code> to <code>Qt5Agg</code> in Julia ?</p>
  
  <p>I got this warning when I try to <code>Using PyPlot</code> in Julia:</p>
  
  <pre><code>julia&gt; using PyPlot
  [ Info: Recompiling stale cache file /Users/tonyspc/.julia/compiled/v1.2/PyPlot/oatAj.ji for PyPlot [d330b81b-6aea-500a-939a-2ce795aea3ee]
  ┌ Warning: PyPlot is using tkagg backend, which is known to cause crashes on MacOS (#410); use the MPLBACKEND environment variable to request a different backend.
  └ @ PyPlot ~/.julia/packages/PyPlot/4wzW1/src/init.jl:192
  </code></pre>
  
  <p>I tried to use the solution posted here: <a href="https://github.com/JuliaPy/PyPlot.jl/issues/454" rel="nofollow noreferrer">https://github.com/JuliaPy/PyPlot.jl/issues/454</a></p>
  
  <p>But it failed:</p>
  
  <pre><code>julia&gt; using PyCall
  [ Info: Recompiling stale cache file /Users/tonyspc/.julia/compiled/v1.2/PyCall/GkzkC.ji for PyCall [438e738f-606a-5dbb-bf0a-cddfbfd45ab0]
  
  julia&gt; pyimport_conda("PyQt5", "pyqt")
  ERROR: PyError (PyImport_ImportModule
  
  The Python package PyQt5 could not be found by pyimport. Usually this means
  that you did not install PyQt5 in the Python version being used by PyCall.
  
  PyCall is currently configured to use the Python version at:
  
  /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  
  and you should use whatever mechanism you usually use (apt-get, pip, conda,
  etcetera) to install the Python package containing the PyQt5 module.
  
  One alternative is to re-configure PyCall to use a different Python
  version on your system: set ENV["PYTHON"] to the path/name of the python
  executable you want to use, run Pkg.build("PyCall"), and re-launch Julia.
  
  Another alternative is to configure PyCall to use a Julia-specific Python
  distribution via the Conda.jl package (which installs a private Anaconda
  Python distribution), which has the advantage that packages can be installed
  and kept up-to-date via Julia.  As explained in the PyCall documentation,
  set ENV["PYTHON"]="", run Pkg.build("PyCall"), and re-launch Julia. Then,
  To install the PyQt5 module, you can use `pyimport_conda("PyQt5", PKG)`,
  where PKG is the Anaconda package the contains the module PyQt5,
  or alternatively you can use the Conda package directly (via
  `using Conda` followed by `Conda.add` etcetera).
  
  ) &lt;type 'exceptions.ImportError'&gt;
  ImportError('No module named PyQt5',)
  
  Stacktrace:
   [1] pyimport(::String) at /Users/tonyspc/.julia/packages/PyCall/ttONZ/src/PyCall.jl:544
   [2] pyimport_conda(::String, ::String, ::String) at /Users/tonyspc/.julia/packages/PyCall/ttONZ/src/PyCall.jl:702
   [3] pyimport_conda(::String, ::String) at /Users/tonyspc/.julia/packages/PyCall/ttONZ/src/PyCall.jl:701
   [4] top-level scope at REPL[4]:1
  </code></pre>
  
  <p>However I already installed <code>PyQt5</code> using <code>brew install pyqt</code></p>
  
  <p>And I don't know why my <code>matplot library</code> is located at <code>python2</code> directory not the <code>python3</code> directory:</p>
  
  <pre><code>julia&gt; pyimport("matplotlib").matplotlib_fname()
  "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/mpl-data/matplotlibrc"
  </code></pre>
  
  <p>I have <code>python2</code> that comes with default on my Mac, and installed <code>python3</code> using <code>Homebrew</code></p>
  
  <pre><code>MacBook-Pro:~ tonyspc$ which python3
  /usr/local/bin/python3
  MacBook-Pro:~ tonyspc$ which python
  /usr/bin/python
  </code></pre>
  
  <p>Should I set the <code>ENV["PYTHON"]</code> to <code>"/usr/local/bin/python3"</code> ?</p>