你好,我正在尝试安装和使用 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 上运行这个库的经验。我做错了什么
请您参考如下方法:
也许这对你有帮助:
- 在 geometry.py 中删除“指针”导入。将 pointer(data) 替换为 POINTER(data)
- 我还有另一个错误,所以您可能需要将导入添加到“shaders.py”:from ctypes import c_uint