你好,我正在尝试安装和使用 NodeboxOpenGL,Python 库,这样我就可以创建自己的节点和边图。但是我遇到了一些麻烦, 从 NodeBox OpenGL site 开始.我为 OpenGL 下载了 NodeBox,然后是 pyglet,然后我做了 easy_install nodebox-opengl。 注意我没有安装 pip 我从 pyglet 安装了 pyglet .所以现在我想一切都准备好了。我快速检查了我的 c:\python27\Lib\site-packages\位置,确保 nodebox 文件夹在那里,一切看起来都很好。 我尝试了网站上的示例程序

from nodebox.graphics import * 
from nodebox.graphics.physics import Flock 
 
flock = Flock(40, 0, 0, 500, 500) 
flock.sight = 300 
 
def draw(canvas): 
    background(1) 
    fill(0, 0.75) 
    flock.update(cohesion=0.15) 
    for boid in flock: 
        push() 
        translate(boid.x, boid.y) 
        scale(0.5 + 1.5 * boid.depth) 
        rotate(boid.heading) 
        arrow(0, 0, 15) 
        pop() 
 
canvas.fps = 30 
canvas.size = 600, 400 
canvas.run(draw) 

试图运行它,但我一直收到这个错误

Traceback (most recent call last): 
  File "E:\Workspace\ElasticNodes\graph1.py", line 5, in <module> 
    from nodebox.graphics import * 
  File "E:\Workspace\ElasticNodes\nodebox\graphics\__init__.py", line 1, in <module> 
    import bezier 
  File "E:\Workspace\ElasticNodes\nodebox\graphics\bezier.py", line 10, in <module> 
    from context import BezierPath, PathElement, PathError, Point, MOVETO, LINETO, CURVETO, CLOSE 
  File "E:\Workspace\ElasticNodes\nodebox\graphics\context.py", line 29, in <module> 
    import geometry 
  File "E:\Workspace\ElasticNodes\nodebox\graphics\geometry.py", line 454, in <module> 
    from pyglet.gl import \ 
ImportError: cannot import name pointer 

我尝试修改 python 脚本,即 在您的脚本中,将 NodeBox 的位置添加到 sys.path,然后再导入它: >>> MODULE = '/users/tom/python/nodebox' >>> import sys;如果 MODULE 不在 sys.path 中:sys.path.append(MODULE) >>> import nodebox

但是还是一样的错误。 我正在使用 Python2.7,在 Windows 上运行。我不确定我做错了什么。有没有人有在 Windows 上运行这个库的经验。我做错了什么

请您参考如下方法:

也许这对你有帮助:

  1. geometry.py 中删除“指针”导入。将 pointer(data) 替换为 POINTER(data)
  2. 我还有另一个错误,所以您可能需要将导入添加到“shaders.py”:from ctypes import c_uint


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!