7

When I do

pip install matplotlib --upgrade --user

I dont get any error but my program fails saying

Traceback (most recent call last):
  File "forest.py", line 22, in <module>
    matplotlib.style.use('ggplot')
AttributeError: 'module' object has no attribute 'style'

when I try to upgrade matplotlib without --user I get following error

$ pip install matplotlib --upgrade 
Collecting matplotlib
  Using cached matplotlib-1.5.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Requirement already up-to-date: cycler in /Users/vangapellisanthosh/Library/Python/2.7/lib/python/site-packages (from matplotlib)
Collecting pyparsing!=2.0.0,!=2.0.4,!=2.1.2,>=1.5.6 (from matplotlib)
  Using cached pyparsing-2.1.8-py2.py3-none-any.whl
Collecting pytz (from matplotlib)
  Using cached pytz-2016.6.1-py2.py3-none-any.whl
Collecting numpy>=1.6 (from matplotlib)
  Using cached numpy-1.11.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Collecting python-dateutil (from matplotlib)
  Using cached python_dateutil-2.5.3-py2.py3-none-any.whl
Collecting six (from cycler->matplotlib)
  Using cached six-1.10.0-py2.py3-none-any.whl
Installing collected packages: pyparsing, pytz, numpy, six, python-dateutil, matplotlib
  Found existing installation: pyparsing 2.0.1
    DEPRECATION: Uninstalling a distutils installed project (pyparsing) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling pyparsing-2.0.1:
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_set.py", line 736, in install
    requirement.uninstall(auto_confirm=True)
  File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_install.py", line 742, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
    copy2(src, real_dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
    copystat(src, dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
    os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/var/folders/7j/19zzrqpn5dl6ghw1pms6k2m80000gp/T/pip-FEDiKY-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pyparsing-2.0.1-py2.7.egg-info'

How do i solve it?

3 Answers 3

19

Try

sudo pip install matplotlib --upgrade --ignore-installed six

Using pip to install certain packages for OS X El Capitan or greater has spawned this generic problem. Hopefully this solution works for you as it has worked for me.

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

2 Comments

Also, be sure to check that you upgrade to matplotlib version 1.4 or greater, as the styles feature is a fairly recent one. You can check this by typing in matplotlib.__version__
Thank you! This command helped a lot. I think the six component may not complete, so when upgrading, we just ignore it
1

It seems like your first error is because you are searching for style in matplotlib and not matplotlib.pyplot. Normally, it should work anyway but try this.

Try changing this:

matplotlib.style.use('ggplot')

By adding this in the beginning of your code:

import matplotlib.pyplot as plt

Then use:

plt.style.use('ggplot')

For the second error, pip tries to uninstall pyparsing but somehow don't have the permission. If you are the administrator try using:

sudo pip install matplotlib --upgrade

Comments

1

Building on Kendama's answer. I had the same issue on macOS (Exception during Uninstalling pyparsing-2.0.1) while installing mitmproxy. The following code fixed the error for me.

sudo pip install mitmproxy --upgrade --ignore-installed six

Just wanted to mention that this issue is not related just to matplotlib, but can occur when installing any software.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.