2015-11-24 64 views
6

Matplotlib幾個月前工作得很好。但現在我不斷收到錯誤:ImportError:沒有名爲matplotlib的模塊

ImportError: No module named matplotlib 

我使用PIP再次安裝matplotlib。它沒有工作。我使用easyinstall。還是行不通。

PIP安裝給人

Requirement already satisfied (use --upgrade to upgrade): matplotlib in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib-1.5.0-py2.7-macosx-10.6-intel.egg 
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.6 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (from matplotlib) 
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/python_dateutil-2.4.2-py2.7.egg (from matplotlib) 
Requirement already satisfied (use --upgrade to upgrade): pytz in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytz-2015.7-py2.7.egg (from matplotlib) 
Requirement already satisfied (use --upgrade to upgrade): cycler in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cycler-0.9.0-py2.7.egg (from matplotlib) 
Requirement already satisfied (use --upgrade to upgrade): pyparsing!=2.0.0,!=2.0.4,>=1.5.6 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyparsing-2.0.6-py2.7.egg (from matplotlib) 
Requirement already satisfied (use --upgrade to upgrade): six>=1.5 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/six-1.10.0-py2.7.egg (from python-dateutil->matplotlib) 

然後我用

sudo -E pip install matplotlib --upgrade 

之後,我得到

The directory '/Users/ruskin/Library/Logs/pip' or its parent directory is not owned by the current user and the debug log has been disabled.  Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 
The directory '/Users/ruskin/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 
You are using pip version 6.1.1, however version 7.1.2 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 
The directory '/Users/ruskin/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 

它繼續升級matplotlib但最終我得到了

Requirement already up-to-date: python-dateutil in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/python_dateutil-2.4.2-py2.7.egg (from matplotlib) 
Requirement already up-to-date: pytz in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytz-2015.7-py2.7.egg (from matplotlib) 
Requirement already up-to-date: cycler in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cycler-0.9.0-py2.7.egg (from matplotlib) 
Requirement already up-to-date: pyparsing!=2.0.0,!=2.0.4,>=1.5.6 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyparsing-2.0.6-py2.7.egg (from matplotlib) 
Requirement already up-to-date: six>=1.5 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/six-1.10.0-py2.7.egg (from python-dateutil->matplotlib) 
Installing collected packages: numpy 
    Found existing installation: numpy 1.9.1 
Uninstalling numpy-1.9.1: 
    Exception: 
    Traceback (most recent call last): 
    File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 246, in main 
     status = self.run(options, args) 
    File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 352, in run 
     root=options.root_path, 
    File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 687, in install 
     requirement.uninstall(auto_confirm=True) 
    File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 730, in uninstall 
     paths_to_remove.remove(auto_confirm) 
    File "/Library/Python/2.7/site-packages/pip/req/req_uninstall.py", line 126, in remove 
     renames(path, new_path) 
    File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 292, in renames 
     shutil.move(old, new) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 303, in move 
     os.unlink(src) 
    OSError: [Errno 13] Permission denied: '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy-1.9.1.dist-info/DESCRIPTION.rst' 
+2

檢查你的'哪個python'路徑。 – JRodDynamite

+0

請輸出'pip list' –

+0

請閱讀這個問題的答案:[Pip Install not installed into correct directory?](http://stackoverflow.com/questions/25607837/pip-install-not-installing-into-正確的目錄) – k4ppa

回答

3

在OS X上,永遠不會以root身份安裝python模塊,這是一個永無止境的故障的快速配方。

使用--user參數pip以只安裝模塊,爲當前用戶,如:

localhost:~ sorins$ which python 
/usr/local/bin/python 

python -m pip install --user --upgrade matplotlib 

另外,請確保您使用的是正確的Python解釋器,因爲它經常發生的畫中畫會感到困惑,並且將模塊安裝在不包含在python PATH(sys.path)中的位置。

+0

這個問題的完美解決方案!花費1個多小時解決這個問題,直到我終於在你的幫助下解決了這個問題。 –

相關問題