• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

PyDev和Eclipse设置搅拌机附加模块

eclipse 来源:stacker 13次浏览

我按照此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 

外部库,配置如下:

enter image description here

搅拌机版本是2.67,附件是为2.59开发的。我在搅拌机中完全没有使用Python的经验。

错误的另一种类型是:

Unresolved import: MappingSet bloop.py 

from .mapping_set import MappingSet 

凡MappingSet是在同一文件夹中bloop.py它试图导入。

的项目结构如下(我没有源文件夹,因为我想在地方编辑)

enter image description here

我在做什么错?

解决至少错误消息的解决方法是在这些行的末尾使用#@ 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教程一样添加每个文件的跟踪。

  1. 添加一些断点在加载项文件夹中的版本,
  2. 切换到调试的角度来看,
  3. 启动日食调试服务器,
  4. 启动搅拌器
  5. 运行脚本,它会打到了断点。

我找到常见问题的人会遇到:

  • 指向的路径错误的PyDev debug文件夹中,确保有一个/ pysrc文件夹
  • 当Pydev的更新,更新PYDEV_SOURCE_DIR作为debug_xxxxx将有变化
  • 没有运行eclipse服务器,
  • 在文件的本地副本上设置断点而不是在搅拌器附加目录中的版本
  • 保存脚本并不意味着搅拌机将重新加载它,使用imp,禁用/可重新加载或重新启动搅拌机。

有很好的说明来设置blender和eclipse进行调试。 http://wiki.blender.org/index.php/User:Z0r/PyDevAndProfiling

虽然这是用于搅拌机的游戏引擎,但它大部分适用于普通搅拌机。希望这个帮助!

编辑:我删除它,因为我觉得这不能回答你的问题。但是,自从你坚持以来就是这样。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)