PyDev和Eclipse设置搅拌机附加模块
我按照此ebook Programming Add-Ons for Blender 2.5中的说明设置开发环境。PyDev和Eclipse设置搅拌机附加模块
目前,我尝试调试已安装的add-on called Bloop但它似乎工作,月食仍然显示像许多错误信息:
class Mapping(object): def __init__(self, joint=None, id=None, bone=None, other=None):
...
self.bone_matrix = bpy.bloop.armature.matrix_world.inverted() * self.bone.bone.matrix_local.inverted()
^^^^
ErrorMsg: Undefined variable from import: bloop
外部库,配置如下:
搅拌机版本是2.67,附件是为2.59开发的。我在搅拌机中完全没有使用Python的经验。
错误的另一种类型是:
Unresolved import: MappingSet bloop.py from .mapping_set import MappingSet
凡MappingSet是在同一文件夹中bloop.py它试图导入。
的项目结构如下(我没有源文件夹,因为我想在地方编辑)
我在做什么错?
解决至少错误消息的解决方法是在这些行的末尾使用#@ UnresolvedImport和#@ UndefinedVariable。
回答:
我设置调试不同,但仍然基于勒克斯渲染教程。
首先,创建一个.py文件,我们称之为debug.py,它将包含一个函数,我们稍后会调用它来设置调试。将该文件放在与模块的主__init__.py
相同的文件夹中。根据lux-renderer教程,添加以下代码,更新PYDEV_SOURCE_DIR。
import sys def startdebug():
try:
# set the PYDEV_SOURCE_DIR correctly before using the debugger
PYDEV_SOURCE_DIR = 'C:\Program Files\eclipse\plugins\org.python.pydev.debug_2.5.0.2012040618\pysrc'
# test if PYDEV_SOURCE_DIR already in sys.path, otherwise append it
if sys.path.count(PYDEV_SOURCE_DIR) < 1:
sys.path.append(PYDEV_SOURCE_DIR)
# import pydevd module
import pydevd
# set debugging enabled
pydevd.settrace(None, True, True, 5678, False, False)
except:
pass
当设置PYDEV_SOURCE_DIR确保您将它指向org.python.pydev.debug_xxxxx。还有另一个文件夹与此类似。为了确保你有正确的文件夹,它将包含一个/ pysrc文件夹。
现在在您的主__init__.py
中,这必须在任何其他导入语句正常工作之前出现。直接在bl_info部分下添加以下内容,因为奇怪的混合器会自行解析它。
DEBUGGING = True if(DEBUGGING):
import debug
debug.startdebug()
拥有它可以避免像lux-render教程一样添加每个文件的跟踪。
- 添加一些断点在加载项文件夹中的版本,
- 切换到调试的角度来看,
- 启动日食调试服务器,
- 启动搅拌器
- 运行脚本,它会打到了断点。
我找到常见问题的人会遇到:
- 指向的路径错误的PyDev debug文件夹中,确保有一个/ pysrc文件夹
- 当Pydev的更新,更新PYDEV_SOURCE_DIR作为debug_xxxxx将有变化
- 没有运行eclipse服务器,
- 在文件的本地副本上设置断点而不是在搅拌器附加目录中的版本
- 保存脚本并不意味着搅拌机将重新加载它,使用imp,禁用/可重新加载或重新启动搅拌机。
有很好的说明来设置blender和eclipse进行调试。 http://wiki.blender.org/index.php/User:Z0r/PyDevAndProfiling
虽然这是用于搅拌机的游戏引擎,但它大部分适用于普通搅拌机。希望这个帮助!
编辑:我删除它,因为我觉得这不能回答你的问题。但是,自从你坚持以来就是这样。
以上是 PyDev和Eclipse设置搅拌机附加模块 的全部内容, 来源链接: utcz.com/qa/261163.html