1

Wondering if anyone have met with similar issues on Mac OSX? If so, how do you resolve? Thanks.

Here are document, code and error message,

http://scikit-learn.org/stable/auto_examples/linear_model/plot_iris_logistic.html

#!/usr/bin/python
# -*- coding: utf-8 -*-

"""
=========================================================
Logistic Regression 3-class Classifier
=========================================================

Show below is a logistic-regression classifiers decision boundaries on the
`iris <http://en.wikipedia.org/wiki/Iris_flower_data_set>`_ dataset. The
datapoints are colored according to their labels.

"""
print(__doc__)


# Code source: Gaël Varoquaux
# Modified for documentation by Jaques Grobler
# License: BSD 3 clause

import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model, datasets

# import some data to play with
iris = datasets.load_iris()
X = iris.data[:, :2]  # we only take the first two features.
Y = iris.target

h = .02  # step size in the mesh

logreg = linear_model.LogisticRegression(C=1e5)

# we create an instance of Neighbours Classifier and fit the data.
logreg.fit(X, Y)

# Plot the decision boundary. For that, we will assign a color to each
# point in the mesh [x_min, m_max]x[y_min, y_max].
x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5
y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5
xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
Z = logreg.predict(np.c_[xx.ravel(), yy.ravel()])

# Put the result into a color plot
Z = Z.reshape(xx.shape)
plt.figure(1, figsize=(4, 3))
plt.pcolormesh(xx, yy, Z, cmap=plt.cm.Paired)

# Plot also the training points
plt.scatter(X[:, 0], X[:, 1], c=Y, edgecolors='k', cmap=plt.cm.Paired)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')

plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.xticks(())
plt.yticks(())

plt.show()

Traceback (most recent call last):
  File "/Users/foo/personal/law/justech/featureExtraction/testLogisticRegression.py", line 22, in <module>
    import matplotlib.pyplot as plt
  File "/Users/foo/miniconda2/lib/python2.7/site-packages/matplotlib/pyplot.py", line 114, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/Users/foo/miniconda2/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "/Users/foo/miniconda2/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py", line 24, in <module>
    from matplotlib.backends import _macosx
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 Working with Matplotlib in a virtual enviroment see 'Working with Matplotlib in Virtual environments' in the Matplotlib FAQ
6
  • 1
    "If you are Working with Matplotlib in a virtual enviroment see 'Working with Matplotlib in Virtual environments' in the Matplotlib FAQ" -- Have you done that? Commented Aug 21, 2016 at 0:22
  • @cricket_007, thanks and vote up. I am not using virtualenv, not sure if conda or miniconda is also so-called virtual environment in this context? Thanks. Commented Aug 21, 2016 at 0:43
  • 2
    By the way, no need to vote up every reply you get. You especially don't need to state that you're doing it. Commented Aug 21, 2016 at 0:49
  • 1
    I haven't used Anacoda / miniconda, but I wouldn't be surprised if it was used as a Virtualenv Commented Aug 21, 2016 at 0:50
  • 1
    @cricket_007 "no need to vote up every reply you get. You especially don't need to state that you're doing it. " Vote up and agree 100%. Commented Aug 21, 2016 at 3:11

1 Answer 1

1

Are you using a virtual enviorment? Right now it thinks your python isn't a framework. in your terminal run

which python

and make sure it returns

/Library/Frameworks/Python.framework/Versions/2.7/bin/python

you can always intall python as a framework at python https://www.python.org/downloads/

Sign up to request clarification or add additional context in comments.

3 Comments

Thanks Grant, vote up and here are the return for which python /Users/foo/miniconda2/bin/python, wondering how it matters if I install Python as a framework or not? I just need to use matplotlib as a library, as numpy and others.
Thanks Grant for the help, mark your reply as answer.
if you want to use the framework version run your script in the terminal as /Library/Frameworks/Python.framework/Versions/2.7/bin/python /path/to/script/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.