首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当试图运行pyglet窗口时,我会得到以下错误:"AttributeError:'scipy.spatial.transform._rotation.Rotation‘对象没有属性'as_dcm'“

当试图运行pyglet窗口时,我会得到以下错误:"AttributeError:'scipy.spatial.transform._rotation.Rotation‘对象没有属性'as_dcm'“
EN

Stack Overflow用户
提问于 2022-12-01 22:24:05
回答 1查看 14关注 0票数 0

这是我所有的代码

代码语言:javascript
复制
import pyglet

import ratcave as rc

window = pyglet.window.Window()

pyglet.app.run()

运行此程序时,终端中显示了以下内容

代码语言:javascript
复制
Traceback (most recent call last):
  File "c:\CODING\pyopengl\Mudge-David-Homework-8.py", line 14, in <module>
    import ratcave as rc
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\__init__.py", line 5, in <module>
    from . import resources
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\resources.py", line 40, in <module>
    default_camera = Camera()
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\camera.py", line 260, in __init__
    self.projection = PerspectiveProjection() if not projection else projection
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\utils\observers.py", line 56, in __setattr__
    super(AutoRegisterObserver, self).__setattr__(key, value)
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\camera.py", line 299, in projection
    self.reset_uniforms()
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\camera.py", line 302, in reset_uniforms
    self.uniforms['projection_matrix'] = self.projection_matrix.view()
PS C:\Users\David> & C:/Users/David/AppData/Local/Microsoft/WindowsApps/python3.10.exe c:/CODING/pyopengl/Mudge-David-Homework-8.py
Traceback (most recent call last):
  File "c:\CODING\pyopengl\Mudge-David-Homework-8.py", line 14, in <module>
    import ratcave as rc
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\__init__.py", line 5, in <module>
    from . import resources
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\resources.py", line 40, in <module>
    default_camera = Camera()
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\camera.py", line 260, in __init__
    self.projection = PerspectiveProjection() if not projection else projection
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\utils\observers.py", line 56, in __setattr__
    super(AutoRegisterObserver, self).__setattr__(key, value)
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\camera.py", line 299, in projection
    self.reset_uniforms()
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\camera.py", line 302, in reset_uniforms
    self.uniforms['projection_matrix'] = self.projection_matrix.view()
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\shader.py", line 139, in uniforms
    self.update()
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\utils\observers.py", line 47, in update
    self.on_change()
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\physical.py", line 186, in on_change
    Physical.on_change(self)
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\physical.py", line 138, in on_change
    self.model_matrix = np.dot(self.position.to_matrix(), self.rotation.to_matrix())
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\coordinates.py", line 126, in to_matrix
    return self.to_radians().to_matrix()
  File "C:\Users\David\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\ratcave\coordinates.py", line 95, in to_matrix
    mat[:3, :3] = R.from_euler(self.axes[1:],self._array,degrees=False).as_dcm() # scipy as_matrix() not available
AttributeError: 'scipy.spatial.transform._rotation.Rotation' object has no attribute 'as_dcm'

似乎错误是最后一行AttributeError:'scipy.spatial.transform._rotation.Rotation‘对象没有属性'as_dcm’

我试图遵循本教程代码应该创建一个新的窗口,这反过来意味着Pyglet正在工作。

根据我的研究,这是通过改变SciPy方法来解决的,我已经尝试过了,但没有成功。这个问题的另一个线程通过安装正确的版本来解决这个问题,这将纠正这些方法。但是,我尝试安装不同版本的SciPy,但仍然得到相同的错误。

EN

回答 1

Stack Overflow用户

发布于 2022-12-02 01:28:20

as_dcm()类的Rotation方法是在SciPy版本1.4.0中不推荐使用,并从SciPy版本1.6.0中删除。您必须使用较早版本的SciPy,或者找出是否有一个ratcave版本可以与最新版本的SciPy兼容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74648836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档