Anaconda Runtime Error: Python is not installed as a framework?

Question:

I’ve installed Anaconda with the pkg installer:

Python 2.7.10 |Continuum Analytics, Inc.| (default, May 28 2015, 17:04:42) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org

but when I attempt to use anything from matplotlib, i.e.:

 from matplotlib import pyplot as plt

I get

RuntimeError: Python is not installed as a framework.
The Mac OS X backend will not be able to function correctly if Python is not installed 
as a framework. See the Python documentation for more information on installing Python 
as a framework on Mac OS X. Please either reinstall Python as a framework,
or try one of the other backends.

I’m really not sure what this means, or how to go about fixing it.

Asked By: Mark Brown

||

Answers:

If you experience this error, don’t forget to check your bash_profile.

You can do this in terminal by:

cd

then

nano .bash_profile

check the contents. Macports and Homebrew add their own headings for things they’ve done here. You can remove the declarations they make to $PATH. Just leave the one Anaconda has made. I had a If you would like, you can:

cp .bash_profile ./bash_profile_backup_yyyy_mm_dd 

and have a backup of the file, with filename indexing to the date you changed it. That is, provided you actually put in the date in instead of just the formatting characters I’m suggesting.

source ~/.bash_profile

will refresh your system’s reference to the bash_profile and you should be good to go in importing and using matplotlib

Answered By: Mark Brown

if using inside a virtualenv, I recommend following the instructions here:
http://matplotlib.org/faq/virtualenv_faq.html

Answered By: Bobby

I was having the same problem. Installing an older version of matplotlib did the trick for me. Try this command in your terminal while in your virtual environment:

pip install matplotlib==1.4.3
Answered By: Glenn Cameron

If the problem is only matplotlib, is worth try to change the backend:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

plt.plot([1, 2, 3], [4, 5, 6])
plt.show()

If it works you can change the backend permanently from the matplotlibrc file.

Answered By: SeF

I was having the same problem with anaconda 2 & matplotlib 1.5.3.

Running a simple conda install matplotlib to reinstall matplotlib did the trick for me.

Answered By: dangom

Run the file using pythonw instead of python.
This happens because python is not installed as a framework.
Therefore use pythonw myScript.py instead of python myScript.py
I am sure this will fix it.

I had a similar error.
RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework on Mac OS X. Please either reinstall Python as a framework, or try one of the other backends. If you are using (Ana)Conda please install python.app and replace the use of 'python' with 'pythonw'. See 'Working with Matplotlib on OSX' in the Matplotlib FAQ for more information.

Answered By: devssh

Posting since I just had this issue and this was a quick fix:

If you used pip to install:

  1. Create ~/.matplotlib/matplotlibrc

  2. Add “backend: TkAgg” (without the quotations) to the file.

Answered By: Jared Wilber

A reinstall of matplotlib should fix the issue for you as it did for me with

conda install matplotlib

Answered By: Cory Watts

Quickfix: Run your file using pythonw, instead of python.

e.g pythonw testFile.py.

Answered By: Sehul Viras

From the matplotlib documentation;

$ conda install python.app

You need a framwork build of Python for matplotlib, but

The default python provided in (Ana)conda is not a framework build. However, a framework build can easily be installed, both in the main environment and in conda envs: install python.app (conda install python.app) and use pythonw rather than python

NB I had to add the conda-forge channel as python.app isn’t included in the default miniconda channels

$ conda config --add channels conda-forge

Answered By: danodonovan
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.