gpt4 book ai didi

eclipse - Blender 附加组件的 PyDev 和 Eclipse 设置

转载 作者:行者123 更新时间:2023-12-02 15:51:17 25 4
gpt4 key购买 nike

我按照此 ebook Programming Add-Ons for Blender 2.5 中的说明进行操作设置开发环境。

目前我尝试调试已安装的 add-on called Bloop尽管它似乎有效,但 Eclipse 仍然显示许多错误消息,例如:

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

Blenders 版本为 2.67,该插件是为 2.59 开发的。我完全没有在 Blender 中使用 Python 的经验。

另一种类型的错误是:

Unresolved import: MappingSet   bloop.py

from .mapping_set import MappingSet

MappingSet 与尝试导入的 bloop.py 位于同一文件夹中。

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

enter image description here

我做错了什么?

至少抑制错误消息的解决方法是在这些行的末尾使用 #@UnresolvedImport 和 #@UndefinedVariable。

最佳答案

我以不同的方式设置调试,但仍然基于 lux-render 教程。

首先,创建一个 .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 部分下添加以下内容,因为奇怪的是 blender 会自行解析它。

DEBUGGING = True
if(DEBUGGING):
import debug
debug.startdebug()

将其放在此处将避免像 lux-render 教程那样添加每个文件的跟踪。

  1. 向附加组件文件夹中的版本添加一些断点,
  2. 切换到调试视角,
  3. 启动 Eclipse 调试服务器,
  4. 启动 blender
  5. 运行脚本,它将到达断点。

我发现人们遇到的常见问题:

  • 将路径指向错误的 pydev 调试文件夹,确保有/pysrc 文件夹
  • 当 Pydev 更新时,更新 PYDEV_SOURCE_DIR,因为 debug_xxxxx 将会发生变化
  • 没有运行 Eclipse 服务器,
  • 在文件的本地副本而不是 blender 附加目录中的版本上设置断点
  • 保存脚本并不意味着 Blender 会重新加载它、使用 imp、禁用/启用插件或重新启动 Blender。

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

虽然这是针对 blender 游戏引擎的,但其中大部分适用于常规 blender 。希望这有帮助!

编辑:我删除了它,因为我觉得这不能回答您的问题。但既然你坚持了,那就这样吧。

关于eclipse - Blender 附加组件的 PyDev 和 Eclipse 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16821865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com