2015-11-24 3 views
6

Matplotlib работает отлично несколько месяцев назад. Но теперь я все время получаю сообщение об ошибке:ImportError: Нет модуля под названием matplotlib

ImportError: No module named matplotlib 

Я снова установил matplotlib с помощью пипса. Это не сработало. Я использовал easyinstall. Все еще не работает.

установка пип дает

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 не устанавливается в правильный каталог?] (Http://stackoverflow.com/questions/25607837/pip-install-not-installing-into- correct-directory) – k4ppa

ответ

3

В OS X никогда не устанавливаются модули python как root, это быстрый рецепт для бесконечных сбоев.

Используйте параметр --user для pip для того, чтобы установить модули для текущего пользователя, как:

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

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

Кроме того, убедитесь, что вы используете правильные интерпретаторы Python, как это часто бывает для ПГИ запутаться и установить модуль в месте, чем не включен в python PATH (sys.path).

+0

Идеальное решение для этой проблемы! Проведите более 1 часа, исправьте это, пока я, наконец, не разрешу это с вашей помощью. –

Смежные вопросы