-1

: 一時的な解決策が見つかりました。関数内のコンテンツを開きcamera.py、使用passおよびコメントしてから_view_plane_normal_changed、再コンパイルします。

を使用してpython(x,y)2.7.5.1います。mayavi のような tvtk を使用するいくつかのパッケージを使用するAttributeError:SetViewPlaneNormal. と、vtk がこのメソッドを非推奨にしたことが原因であることがわかっています。誰もそれを解決する方法を知っていますか? のバージョンvtk5.10.1-3. 完全なトラックバックには、次のようなブロックが含まれています。

ERROR:traits:Exception occurred in traits notification handler for object:     vtkOpenGLCamera (06F89078)
    Debug: Off
    ...#There are too many lines here


Traceback (most recent call last):
    File "D:\Python27\lib\site-packages\traits\trait_notifiers.py", line 381, in call_3
        self.handler( object, old, new )
    File "D:\Python27\lib\site-packages\tvtk\tvtk_classes.zip\tvtk_classes\camera.py", line 82, in _view_plane_normal_changed
        self._do_change(self._vtk_obj.SetViewPlaneNormal,
AttributeError: SetViewPlaneNormal
Exception occurred in traits notification handler.
4

2 に答える 2

1

私はまったく同じ問題に直面しています。mayavi コードはAttributeError:SetViewPlaneNormalエラーにつながります。

私のプラットフォームは、Python 2.7.5、VTK 5.10.1、Mayavi 4.3.0 を搭載した Win 7 Pro x64 です。

公式の python の例でもエラーが発生しますが、コンソールに継続的に出力されるエラーにもかかわらず、グラフィックは正しく表示されることに注意してください。

完全なスタック トレースは次のとおりです。

, trait: view_plane_normal, old value: [ 0.57735027  0.57735027  0.57735027], new value: [     0.57735027  0.57735027  0.57735027]
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\traits\trait_notifiers.py", line 381, in call_3
    self.handler( object, old, new )
  File "C:\Python27\lib\site-packages\tvtk\tvtk_classes.zip\tvtk_classes\camera.py", line 82, in     _view_plane_normal_changed
    self._do_change(self._vtk_obj.SetViewPlaneNormal,
AttributeError: SetViewPlaneNormal
Exception occurred in traits notification handler for object: vtkOpenGLCamera (092BF010)
  Debug: Off
  Modified Time: 890617
  Reference Count: 2
  Registered Events: 
    Registered Observers:
      vtkObserver (0A1AA3C8)
        Event: 33
        EventName: ModifiedEvent
        Command: 0A867210
        Priority: 0
        Tag: 1
  ClippingRange: (1.56289, 5.47286)
  DirectionOfProjection: (-0.57735, -0.57735, -0.57735)
  Distance: 3.29037
  EyeAngle: 2
  FocalDisk: 1
  FocalPoint: (1, 1, 1)
  ViewShear: (0, 0, 1)
  ParallelProjection: Off
  ParallelScale: 0.851612
  Position: (2.8997, 2.8997, 2.8997)
  Stereo: Off
  Left Eye: 1
  Thickness: 3.90998
  ViewAngle: 30
  UseHorizontalViewAngle: 0
  UserTransform: (none)
(none)
  ViewPlaneNormal: (0.57735, 0.57735, 0.57735)
  ViewUp: (0, 0, 1)
  WindowCenter: (0, 0)
  UseOffAxisProjection: (0)
  ScreenBottomLeft: (-0.5, -0.5, -0.5)
  ScreenBottomRight: (0.5, -0.5, -0.5)
  ScreenTopRight: (0.5, 0.5, -0.5)
  EyeSeparation: (0.06)
  WorldToScreenMatrix: (03996300
    Debug: Off
    Modified Time: 881548
    Reference Count: 1
    Registered Events: (none)
    Elements:
        1 0 0 0 
        0 1 0 0 
        0 0 1 0 
        0 0 0 1 
  )
  EyeTransformMatrix: (039954F0
    Debug: Off
    Modified Time: 881550
    Reference Count: 1
    Registered Events: (none)
    Elements:
        1 0 0 0 
        0 1 0 0 
        0 0 1 0 
        0 0 0 1 
  )
  ModelTransformMatrix: (039955E0
    Debug: Off
    Modified Time: 881552
    Reference Count: 1
    Registered Events: (none)
    Elements:
        1 0 0 0 
        0 1 0 0 
        0 0 1 0 
        0 0 0 1 
  )

, trait: view_plane_normal, old value: [ 0.57735027  0.57735027  0.57735027], new value: [     0.57735027  0.57735027  0.57735027]
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\traits\trait_notifiers.py", line 381, in call_3
    self.handler( object, old, new )
  File "C:\Python27\lib\site-packages\tvtk\tvtk_classes.zip\tvtk_classes\camera.py", line 82, in     _view_plane_normal_changed
    self._do_change(self._vtk_obj.SetViewPlaneNormal,
AttributeError: SetViewPlaneNormal    

上記のスタック トレースは、レンダリングごとに数回出力されます。カメラを動かすと、FPS の大幅な低下につながることが起こり続けます。

このエラーにつながる最も単純なコードの例:

from mayavi import mlab
mlab.points3d([1], [1], [1])
于 2013-11-06T15:09:50.570 に答える
0

私も python(x,y)(2.7.5.2) を使用してこの問題に遭遇しましたが、Anaconda(1.8.0) ディストリビューションでは、コードは問題なく動作します。

# code comes from mayavi docs shipped with python(x,y) 2.7.5.2
# Create the data.
from numpy import pi, sin, cos, mgrid
dphi, dtheta = pi/250.0, pi/250.0
[phi,theta] = mgrid[0:pi+dphi*1.5:dphi,0:2*pi+dtheta*1.5:dtheta]
m0 = 4; m1 = 3; m2 = 2; m3 = 3; m4 = 6; m5 = 2; m6 = 6; m7 = 4;
r = sin(m0*phi)**m1 + cos(m2*phi)**m3 + sin(m4*theta)**m5 + cos(m6*theta)**m7
x = r*sin(phi)*cos(theta)
y = r*cos(phi)
z = r*sin(phi)*sin(theta)

# View it.
from mayavi import mlab
s = mlab.mesh(x, y, z)
mlab.show()
于 2014-01-07T09:17:27.193 に答える