2016-10-24 4 views
1

Я новичок как в python, так и в OSX, поэтому, если я не понимаю супер базовые вещи, пожалуйста, простите меня.Невозможно импортировать matplotlib.animation

Я использую python 2.7.12 на новой установке из Homebrew. Я также использовал Homebrew для установки ipython, ffmpeg и libav (устанавливает avconv, который, как мне кажется, требуется для того, что я пытаюсь сделать).

  • Я использовал пип установить SciPy, NumPy (который я думаю, приходит с SciPy так или иначе?) И Matplotlib
  • Я бегу El Capitan v10.11.6

фона (для некоторых context): Я запускаю некоторые гидродинамические симуляции, которые выводят кучу двоичных файлов. Я не собираю их вместе, чтобы создать фильм. К счастью для меня, один из моих коллег уже написал аккуратный маленький скрипт python для этого (который он написал в ipython).

Проблема: При попытке запуска

import matplotlib.animation 

Сценарий просто висит, и Matplotlib анимации никогда не импортируется. Я попытался изменить бэкенд с помощью

import matplotlib 
matplotlib.use('tkagg') 
import matplotlib.animaton 

Я пробовал различные движки, которые я получил, запустив код из List of all available matplotlib backends

Я также попытался import matplotlib.pyplot hangs (обновление FC-листов)

Наконец, и я не уверен, что это полезно, но при этом ipython пытается импортировать matplot.animation в течение примерно 10 минут, а затем завершает вывод следующих

In [3]: import matplotlib.animation 
^C--------------------------------------------------------------------------- 
KeyboardInterrupt       Traceback (most recent call last) 
<ipython-input-3-64e90e455a86> in <module>() 
----> 1 import matplotlib.animation 

/usr/local/lib/python2.7/site-packages/matplotlib/animation.py in <module>() 
    589 
    590 @writers.register('imagemagick') 
--> 591 class ImageMagickWriter(MovieWriter, ImageMagickBase): 
    592  def _args(self): 
    593   return ([self.bin_path(), 

/usr/local/lib/python2.7/site-packages/matplotlib/animation.py in wrapper(writerClass) 
    73  def register(self, name): 
    74   def wrapper(writerClass): 
---> 75    if writerClass.isAvailable(): 
    76     self.avail[name] = writerClass 
    77    return writerClass 

/usr/local/lib/python2.7/site-packages/matplotlib/animation.py in isAvailable(cls) 
    284        stderr=subprocess.PIPE, 
    285          creationflags=subprocess_creation_flags) 
--> 286    p.communicate() 
    287    return True 
    288   except OSError: 

    /usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/ lib/python2.7/subprocess.pyc in communicate(self, input) 
    798    return (stdout, stderr) 
    799 
--> 800   return self._communicate(input) 
    801 
    802 

    /usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.pyc in _communicate(self, input) 
    1417     stdout, stderr =  self._communicate_with_poll(input) 
    1418    else: 
-> 1419     stdout, stderr =  self._communicate_with_select(input) 
    1420 
    1421    # All data exchanged. Translate lists into strings. 

/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.pyc in _communicate_with_select(self, input) 
    1518    while read_set or write_set: 
    1519     try: 
-> 1520      rlist, wlist, xlist =  select.select(read_set, write_set, []) 
    1521     except select.error, e: 
    1522      if e.args[0] == errno.EINTR: 

KeyboardInterrupt: 

Если вы дадите хоть что-нибудь, подумайте, даже если вы не можете помочь, большое вам спасибо!

+0

Какие команды вы использовали для установки плагинов? Получаете ли вы тот же результат, если вы запускаете, если из сценария, как если бы вы запускали его из приглашения? – pingul

+0

Под плагинами вы подразумеваете matplotlib и т. Д.? Я использовал pip для их установки. Например, pip install matplotlib. И да, если я запустил скрипт, перейдя в папку и выполнив python script.py, он зависает в строке импорта так же, как и с помощью ipython, или если я просто ввожу его в подсказку – jgr

+0

. используя виртуальную среду? Или вам нужно было выполнить 'sudo pip install ...'? Кроме того, вы пробовали обычный питон? То есть не ipython. – pingul

ответ

0

У вас установлена ​​более одной версии Python? Я бы проверил ваш путь к python. Убедитесь, что matplotlib в этом случае равен 2,7.

Это может иметь отношение тоже - import matplotlib.pyplot hangs

+0

Спасибо за ваш ответ. Когда я впервые столкнулся с этой проблемой, я также установил python через anaconda2. С тех пор я удалил это с помощью конд-чистой «вещи» (https://docs.continuum.io/anaconda/install#os-x-uninstall). Путь моего питона выглядит следующим образом: PYTHONPATH = ~/usr/local/lib/python2.7: $ PYTHONPATH – jgr

+0

с экспортом PYTHONPATH после этого – jgr

+0

Похоже, что может быть проблема с моими PATH и PYTHONPATH (синтаксис, который я использовал, был неправильным). – jgr

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