ฉันจะติดตั้ง mayAVI สำหรับ python3 ของฉันบน macOS Sierra ได้อย่างไร


2

ฉันใช้ matplotlib เพื่อพล็อตกราฟ 3D แต่ฉันพบว่า matplotlib ไม่มีฟังก์ชันการลากและหมุนสำหรับกราฟ 3D ที่พล็อต ฉันต้องการติดตั้ง mayAVI ที่จะทำให้ฉันสามารถทำเช่นนั้นได้ แต่ฉันไม่สามารถหาวิธีที่จะป้องกันความผิดพลาดได้ในการติดตั้ง ใครช่วยแนะนำฉันในกระบวนการติดตั้งได้บ้าง ฉันไม่ได้ใช้สภาพแวดล้อมเสมือนจริง

คำตอบ:


3

ฉันเพิ่งประสบปัญหาเดียวกันของคุณ (ต้องการใช้ MayaVi แทน matplotlib สำหรับกราฟ 3 มิติและภาพเคลื่อนไหวไม่ต้องการใช้สภาพแวดล้อมเสมือนจริงและต้องการใช้ MayaVi กับ python3) เหล่านี้เป็นขั้นตอนโดยตรงที่ฉันตามมาเพื่อเริ่มใช้ MayaVi บน macOS Sierra 10.12.5 ของฉัน

(1) ชงติดตั้ง vtk - กับ python3 - โดยไม่ต้อง - python

  • ใช้เวลาประมาณ 33 นาทีบนเครื่องของฉัน
  • จากสิ่งที่ฉันอ่านมีเพียงเวอร์ชัน / wrapper เดียวของ vtk ที่ติดตั้งในแต่ละครั้งดังนั้นเมื่อคุณติดตั้ง vtk โดยไม่มีแฟล็กคุณอาจต้องการเรียกใช้ ชงถอนการติดตั้ง vtk ก่อนรันคำสั่งนี้

(2) การติดตั้ง pip3 mayavi

ต่อไปฉันลองเรียกใช้สคริปต์จาก http://docs.enthought.com/mayavi/mayavi/auto/example_mlab_visual.html#example-mlab-visual เพื่อดูว่ามันจะทำงาน ฉันใช้สคริปต์นั้นตามที่พบเพิ่ม #! / usr / bin / env python3 และวิ่งมันเป็น ./test.py . สิ่งนี้ส่งผลให้:

======

Traceback (การโทรล่าสุดครั้งล่าสุด):   ไฟล์ "./test.py", บรรทัดที่ 6, ใน     f = mlab.figure (ขนาด = (500,500))   ไฟล์ "/usr/local/lib/python3.6/site-packages/mayavi/tools/figure.py" บรรทัด 63 ในภาพ     engine = get_engine ()   ไฟล์ "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py" บรรทัดที่ 101 ใน get_engine     กลับมาเอง new_engine ()   ไฟล์ "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py" บรรทัดที่ 146 ใน new_engine     check_backend ()   ไฟล์ "/usr/local/lib/python3.6/site-packages/mayavi/tools/engine_manager.py" บรรทัดที่ 49 ใน check_backend     '' ') ImportError: ไม่สามารถนำเข้าแบ็กเอนด์สำหรับลักษณะ


ตรวจสอบให้แน่ใจว่าคุณมี TraitsBackendWx หรือ TraitsBackendQt ติดตั้งโครงการแล้ว หากคุณติดตั้ง Mayavi ด้วย easy_install ให้ลอง easy_install easy_install Mayavi [แอป] จะใช้งานได้เช่นกัน

หากคุณทำการเช็คเอาต์แหล่งที่มาให้แน่ใจว่าได้เรียกใช้ 'หลาม setup.py ติดตั้ง' ในลักษณะ TraitsGUI และแบ็กเอนด์ลักษณะที่คุณเลือก

ตรวจสอบให้แน่ใจด้วยว่าติดตั้ง wxPython หรือ PyQT อย่างใดอย่างหนึ่ง wxPython: http: //www.wxpython.org/ PyQT: http: // www.riverbankcomputing.co.uk / ซอฟต์แวร์ / pyqt / intro`

=====

ดังนั้นหลังจาก googling ปัญหาข้างต้นฉันเจอหน้าปัญหา github ที่กล่าวว่าติดตั้งรายการต่อไปนี้:

(3) ชงติดตั้ง wxpython

(4) traitsui ติดตั้ง pip3 (นี่ติดตั้งไว้แล้วในเครื่องของฉัน)

ต่อไปต้องติดตั้ง PyQt ดังนั้นฉันทำตามคำแนะนำจากคำถามล้นสแต็ค:

(5) ชงแตะ cartr / qt4

(6) ชง tap-pin cartr / qt4

(7) ชงติดตั้ง qt

(8) ชงติดตั้ง pyside

  • ใช้เวลาประมาณ 11 นาทีบนเครื่องของฉัน

ตอนนี้ฉันพยายามเรียกใช้สคริปต์อีกครั้ง ครั้งนี้มันวิ่ง แต่ฉันได้รับข้อผิดพลาด:

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

ดังนั้นฉันจึงเปลี่ยนสายการนำเข้าและแก้ไขบางบรรทัดที่ทำกล่อง:

#!/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()

และฉันก็สามารถรันสคริปต์ได้สำเร็จ!


1

คำตอบของฉันคล้ายกับคำตอบข้างต้นของ Erdrick แต่ฉันใช้ conda แทน pip ซึ่งทำให้การติดตั้งง่ายขึ้น

ก่อนอื่นเรามาสร้างสภาพแวดล้อมเสมือน:

conda create --name myenv python=3

ประการที่สองเปิดใช้งานสภาพแวดล้อมชื่อ 'myenv' และอัปเดต conda ผ่าน:

conda update -n base conda

ประการที่สาม

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

สุดท้าย

conda install -c anaconda mayavi 

คำสั่ง conda นี้จะติดตั้งไลบรารีที่ขึ้นต่อกันที่จำเป็นโดย mayavi ด้วย

คำสั่งเหล่านี้สามารถทำงานได้ใน macos Mojave ล่าสุดและ Sierra รุ่นเก่าที่อยู่ด้านข้างของฉัน


0

คุณมี Homebrew? ถ้าไม่ใช่นี่คือวิธีการติดตั้ง อาจใช้เวลาสักครู่ เพียงคัดลอกและวางสิ่งนี้:

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

หลังจากนั้นคุณต้องติดตั้ง VTK Python ก่อนผ่าน:

brew install vtk

แล้วติดตั้ง mayAVI เอง:

pip install mayavi

Pip เป็นผู้จัดการแพ็คเกจงูใหญ่ที่มาพร้อมกับงูหลามโดยอัตโนมัติและเมื่อคุณเห็นว่ามี Mac คุณได้ติดตั้งไว้ในระบบของคุณแล้ว ถ้าด้วยเหตุผลใดก็ตามที่คุณทำไม่ได้คุณสามารถทำตามคำแนะนำได้ ที่นี่ หากจำเป็นต้องดาวน์โหลด


สวัสดีขอบคุณสำหรับคำแนะนำฉันปฏิบัติตามและติดตั้ง vtk ได้สำเร็จอย่างไรก็ตามฉันมีข้อผิดพลาดต่อไปนี้เมื่อทำการติดตั้ง mayavi ผ่าน: คำสั่ง pip3 ติดตั้ง mayavi คำสั่ง "/usr/local/opt/python3/bin/python3.6 -u -c "นำเข้า setuptools, tokenize; __ ไฟล์ __ = '/ ส่วนตัว / var / โฟลเดอร์ / 2d / qk9x42ws7s9dqr3n6cm2jrhr0000gn / T / pip-build-eefc74h7 / mayavi / setup.py'; f = getattr (โทเค็น, 'เปิด' เปิด) ไฟล์ ); code = f.read (). แทนที่ ('\ r \ n', '\ n'); f.close (); exec (รวบรวม (รหัส, ไฟล์ , 'exec')) "ติดตั้ง --record
Tian

/var/folders/2d/qk9x42ws7s9dqr3n6cm2jrhr0000gn/T/pip-bbm_eqpb-record/install-record.txt - ล้มเหลวพร้อมรหัสข้อผิดพลาด 1 ใน / ส่วนตัว / var / โฟลเดอร์ / 2 / qk9x42ws7s9dqr3n6cm2jrhr0000gn / T / pip-สร้าง eefc74h7 / Mayavi /
Tian

@Tian ฉันไม่แน่ใจคุณจะต้อง google รหัสข้อผิดพลาดเพื่อรับเฉพาะเพิ่มเติม
Gleland

@ Gleland ขอโทษฉันรู้ว่าฉันไม่เจาะจงพอฉันใช้คำสั่ง: pip3 ติดตั้ง mayavi เพราะฉันต้องการติดตั้ง mayavi บน python3 ของฉันแทน แต่ฉันได้รับข้อความแสดงข้อผิดพลาด: ModuleNotFoundError: ไม่มีโมดูลชื่อ 'vtk' ตามด้วยบล็อกนั้น ของรหัสฉันแสดงความคิดเห็นก่อนหน้านี้ สิ่งนี้ช่วยได้ไหม?
Tian

@Tian คุณได้ดู นี้ โพสต์เกี่ยวกับมัน?
Gleland
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.