Wie installiere ich mayAVI für mein Python3 auf macOS Sierra?

Ich habe matplotlib verwendet, um 3D-Diagramme zu zeichnen, aber ich habe festgestellt, dass matplotlib keine Drag-and-Rotation-Funktion für die gezeichneten 3D-Diagramme hat. Ich würde gerne mayAVI installieren, das mir dies ermöglicht, aber ich kann keine narrensicheren Methoden finden, um es zu installieren. Kann mich jemand durch den Installationsprozess führen? Ich verwende keine virtuellen Umgebungen.

Antworten (3)

Ich habe kürzlich genau das gleiche Problem erlebt (möchte MayaVi anstelle von Matplotlib für 3D-Grafiken und -Animationen verwenden, möchte keine virtuellen Umgebungen verwenden und möchte MayaVi mit Python3 verwenden). Dies sind die direkten Schritte, die ich befolgt habe, um MayaVi auf meinem macOS Sierra 10.12.5 zu verwenden.

(1) brew install vtk --with-python3 --without-python

  • Dies dauerte ungefähr 33 Minuten auf meiner Maschine
  • Nach dem, was ich gelesen habe, kann immer nur eine Version/Wrapper von vtk installiert sein. Da Sie also vtk ohne die Flags installiert haben, möchten Sie vielleicht brew uninstall vtk ausführen , bevor Sie diesen Befehl ausführen

(2) Pip3 installiert Mayavi

Als nächstes habe ich versucht, das Skript von http://docs.enthought.com/mayavi/mayavi/auto/example_mlab_visual.html#example-mlab-visual auszuführen , um zu sehen, ob es läuft. Ich habe dieses Skript genau so genommen, wie ich es gefunden habe, #!/usr/bin/env python3 hinzugefügt und es als ./test.py ausgeführt . Dies führte zu:

======

Traceback (letzter Aufruf zuletzt): Datei "./test.py", Zeile 6, in f = mlab.figure(size=(500,500)) Datei "/usr/local/lib/python3.6/site-packages/ mayavi/tools/figure.py", Zeile 63, in Abbildung engine = get_engine() Datei "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py", Zeile 101, in get_engine return self.new_engine() Datei „/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py“, Zeile 146, in new_engine check_backend() Datei „/usr/local/lib/python3 .6/site-packages/mayavi/tools/engine_manager.py", Zeile 49, in check_backend ''') ImportError: Backend für Traits konnte nicht importiert werden


Stellen Sie sicher, dass Sie entweder das TraitsBackendWx- oder das TraitsBackendQt-Projekt installiert haben. Wenn Sie Mayavi mit easy_install installiert haben, versuchen Sie es mit easy_install . easy_install Mayavi[app] funktioniert auch.

Wenn Sie einen Quell-Checkout durchgeführt haben, stellen Sie sicher, dass Sie „python setup.py install“ in Traits, TraitsGUI und dem Traits-Backend Ihrer Wahl ausführen.

Stellen Sie außerdem sicher, dass entweder wxPython oder PyQT installiert ist. wxPython: http: //www.wxpython.org/ PyQT: http: //www.riverbankcomputing.co.uk/software/pyqt/intro`

=====

Nachdem ich das obige Problem gegoogelt hatte, stieß ich auf eine Github-Problemseite, auf der es hieß, die folgenden Elemente zu installieren:

(3) brew wxpython installieren

(4) pip3 install traitsui (dies war bereits auf meinem Rechner installiert)

Als nächstes musste PyQt installiert werden, also folgte ich den Anweisungen einer Stapelüberlauffrage:

(5) Brühhahn cartr/qt4

(6) Brühhahnstift cartr/qt4

(7) brauen installieren qt

(8) brauen installieren pyside

  • Dies dauerte ungefähr 11 Minuten auf meiner Maschine

Jetzt habe ich versucht, das Skript erneut auszuführen. Diesmal lief es, aber ich bekam den Fehler:

AttributeError: module 'tvtk.tools.visual' has no attribute 'color'

Also habe ich die Importzeile geändert und einige der Zeilen geändert, in denen die Boxen erstellt werden:

#!/usr/bin/env python3                                                                               

from mayavi import mlab
from tvtk.tools import visual
from vtk.util import colors as color

# Create a figure                                                                                    
f = mlab.figure(size=(500,500))
# Tell visual to use this as the viewer.                                         
visual.set_viewer(f)

# A silly visualization.                                                                             
mlab.test_plot3d()

# Even sillier animation.                                                                            
b1 = visual.box()
b2 = visual.box(x=4., color=color.red)
b3 = visual.box(x=-4, color=color.red)
b1.v = 5.0

@mlab.show
@mlab.animate(delay=250)
def anim():
    """Animate the b1 box."""
    while 1:
        b1.x = b1.x + b1.v*0.1
        if b1.x > 2.5 or b1.x < -2.5:
            b1.v = -b1.v
        yield

# Run the animation.                                                                                 
anim()

Und ich kann das Skript erfolgreich ausführen!

Meine Antwort ähnelt der obigen Antwort von Erdrick, ich verwende jedoch conda anstelle von pip, was die Installation vereinfacht.

Lassen Sie uns zunächst eine virtuelle Umgebung erstellen:

conda create --name myenv python=3

Zweitens aktivieren Sie die Umgebung mit dem Namen ‚myenv‘ und aktualisieren Sie die Conda über:

conda update -n base conda

Drittens,

brew install vtk --with-python3 --without-python

Endlich,

conda install -c anaconda mayavi 

Dieser Conda-Befehl installiert auch die abhängigen Bibliotheken, die von mayavi benötigt werden.

Diese Befehle können auf meiner Seite im neuesten Macos Mojave und im älteren Sierra funktionieren.

Hast du Homebrew? Wenn nicht, hier ist, wie Sie es installieren. Es kann einige Minuten dauern. Einfach kopieren und einfügen:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Danach müssen Sie zuerst VTK Python installieren über:

brew install vtk

und dann mayAVI selbst installieren:

pip install mayavi

Pip ist der Python-Paketmanager, der automatisch mit Python geliefert wird, und da Sie einen Mac haben, haben Sie ihn bereits auf Ihrem System installiert. Wenn Sie dies aus irgendeinem Grund nicht tun, können Sie bei Bedarf den Anweisungen hier folgen, um es herunterzuladen

Hallo, danke für die Anweisungen, ich habe sie befolgt und vtk erfolgreich installiert, aber ich habe den folgenden Fehler bei der Installation von Mayavi über: pip3 install mayavi Command "/usr/local/opt/python3/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/2d/qk9x42ws7s9dqr3n6cm2jrhr0000gn/T/pip-build-eefc74h7/mayavi/setup.py';f=getattr(tokenize, 'open', open)( file ) ;code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file , 'exec'))" install --record
/var/folders/2d/qk9x42ws7s9dqr3n6cm2jrhr0000gn/T/pip-bbm_eqpb-record/install-record.txt --single-version-externally-managed --compile" schlug mit Fehlercode 1 in /private/var/folders/2d/ fehl qk9x42ws7s9dqr3n6cm2jrhr0000gn/T/pip-build-eefc74h7/mayavi/
@Tian Ich bin mir nicht sicher, Sie müssen den Fehlercode googeln, um weitere Einzelheiten zu erhalten.
@ Gleland, tut mir leid, dass ich nicht spezifisch genug war, ich habe den Befehl verwendet: pip3 install mayavi, weil ich stattdessen mayavi auf meinem python3 installieren wollte, aber ich habe die Fehlermeldung erhalten: ModuleNotFoundError: No module named 'vtk', gefolgt von diesem Block des Codes, den ich früher kommentiert habe. Hilft das?
@Tian Hast du dir diesen Beitrag darüber angesehen ?