2016-10-24 10 views
1

Ich bin neu bei Python und OSX, also, wenn ich nicht verstehen super grundlegende Sachen bitte verzeihen Sie mir.Kann Matplotlib.animation nicht importieren

Ich benutze Python 2.7.12 auf einer neuen Installation von Homebrew. Ich habe auch Homebrew verwendet, um ipython, ffmpeg und libav zu installieren (installiert avconv, was meiner Meinung nach für das erforderlich ist, was ich versuche).

  • Ich habe verwendet pip Scipy zu installieren, numpy (was ich denke, mit scipy kommt eigentlich?) Und matplotlib
  • Ich bin mit v10.11.6 El Capitan

Hintergrund (für einige Kontext): Ich führe einige hydrodynamische Simulationen, die eine Reihe von Binärdateien ausgeben. Ich möchte sie zusammenfügen, um einen Film zu erstellen. Zum Glück hat einer meiner Kollegen dafür schon ein kleines Python-Skript geschrieben (was er in ipython geschrieben hat).

Problem: Beim Versuch

import matplotlib.animation 

Das Skript zu laufen gerade hängt, und matplotlib Animation wird nie importiert. Ich habe über

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

das Backend versucht zu ändern ich verschiedene Backends versucht habe, die ich von Code aus List of all available matplotlib backends

ich auch import matplotlib.pyplot hangs versucht haben, laufen bekam

Schließlich (fc-Aktualisierung der Listen), und ich bin nicht sicher, ob dies hilfreich ist, aber verlassen ipython versucht matplot.animation für etwa 10 Minuten zu importieren, und dann endet es gibt die folgenden

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: 

Wenn du dir das noch einmal überlegst, auch wenn du nicht helfen kannst, vielen Dank!

+0

Welche Befehle haben Sie die Plugins zu installieren, verwenden? Erhalten Sie das gleiche Ergebnis, wenn Sie if von einem Skript ausführen, als ob Sie es von der Eingabeaufforderung aus ausführen? – pingul

+0

Mit Plugins meinen Sie Matplotlib etc? Ich habe Pip benutzt, um diese zu installieren. ZB pip install matplotlib. Und ja, wenn ich das Skript über das Navigieren zu dem Ordner und python script.py ausführen, hängt es auf der Importzeile genauso wie es über ipython tut, oder wenn ich es nur in der Eingabeaufforderung eingeben – jgr

+0

Sind Sie Verwenden einer virtuellen Umgebung? Oder musst du 'sudo pip install ...' machen? Hast du auch den normalen Python ausprobiert? I.e. nicht ipython. – pingul

Antwort

0

Haben Sie mehr als eine Version von Python installiert? Ich würde deinen Python-Pfad überprüfen. Stellen Sie sicher, dass Matplotlib in diesem Fall in 2.7 ist.

Dies könnte auch relevant sein - import matplotlib.pyplot hangs

+0

Danke für Ihre Antwort. Als ich dieses Problem ursprünglich entdeckte, hatte ich auch Python über Anaconda2 installiert. Ich habe das seitdem über das Conda-Clean-Ding (https://docs.continuum.io/anaconda/install#os-x-uninstall) entfernt. Mein Python-Pfad lautet wie folgt: PYTHONPATH = ~/usr/local/lib/python2.7: $ PYTHONPATH – jgr

+0

mit Export PYTHONPATH danach – jgr

+0

Es scheint, dass es ein Problem mit meinem PATH und PYTHONPATH (die Syntax, die ich verwendete, war falsch) gewesen sein könnte. – jgr

Verwandte Themen