在 Blender 中运行 python 脚本
Posted
技术标签:
【中文标题】在 Blender 中运行 python 脚本【英文标题】:Running python script in Blender 【发布时间】:2012-07-21 05:13:23 【问题描述】:我安装了 Blender 2.6 并尝试运行一个名为 drawcar.py 的脚本(使用 PyOpenGL)
我查看了导入脚本的文档,只能访问 Blender 的 python 控制台。
如何使用 Blender 从 Linux 终端运行 drawcar.py?
【问题讨论】:
为了完整性(因为这个 SO 页面在 Google 搜索结果中的排名很高)——官方文档中有一个全面而规范的介绍页面。和往常一样,它有点隐藏 :-D Python API Overview¶ 这个页面描述了 Python 是如何集成的,并列出了启动 python 脚本或作为扩展集成的所有方法。 【参考方案1】:您也可以在python控制台中执行以下代码来执行外部脚本,而无需在文本编辑器中打开它:
filename = "/full/path/to/myscript.py"
exec(compile(open(filename).read(), filename, 'exec'))
以上代码来自以下链接:
Blender - Tips and Tricks
【讨论】:
比接受的答案更容易,并且在进行更改时不需要不断重新加载 但是每当我尝试运行脚本时,它会重新运行整个脚本并且不会删除最后一个脚本并混合两个脚本。【参考方案2】:-
在 Blender 中打开一个文本编辑器视图。
按 Alt + O,或转到文本>打开文本块并打开 .py 文件
然后只需按 Run script :D
附:除了在第 2 步中打开文件之外,您还可以点击“+ New”按钮并创建一个新脚本。
注意:在较新的版本中,Run Script 按钮标签已被替换为 Play 图标:
【讨论】:
谢谢,我刚刚想通了,但我看不到运行脚本的输出的方法。我检查了 Blender 的控制台——什么都没有! 不幸的是,它不在搅拌机的控制台中。它在 Blender 的终端窗口中。对于 linux/osx,您必须从终端运行 blender。而且我认为对于 Windows,以前在搅拌机旁边打开了一个命令行窗口。您仍然可以在帮助菜单中打开此功能,如本文所述:blender.org/documentation/blender_python_api_2_59_2/… 不过也可以在“文件”菜单中。 嗨,我按下了运行脚本按钮,但不幸的是它给了我错误“Python 脚本失败。现在在控制台中查看”并且在控制台中什么都没有。那么我怎么能猜出脚本有什么错误呢?尝试使用此文件名 = "/Users/sandeepsingh/Desktop/objc.py" exec(compile(open(filename).read(), filename, 'exec')) Traceback (最近一次调用最后一次) 使用 python 控制台运行它:文件“这个答案为时已晚,但可以帮助任何有同样问题的人
通过终端:
blender yourblendfilenameorpath --python drawcar.py
来自手册页
-P or --python <filename>
Run the given Python script file.
【讨论】:
【参考方案4】:通过另一个脚本或从控制台运行脚本:
import bpy
script = bpy.data.texts["script_name.py"]
exec(script.as_string())
【讨论】:
【参考方案5】:很可能 drawcar.py 正在尝试在 Blender 中执行 pyOpenGL 命令,如果不进行修改,这将无法正常工作。我怀疑您也遇到了一些导入错误(如果您查看命令控制台)。 Blender 有它自己的用于 opengl 的内部 python 包装器,称为 bgl
,它确实包含许多 opengl 标准,但都以 bgl 为前缀。
如果你有 drawcar.py 的链接,我可以看看它并告诉你发生了什么。
【讨论】:
以上是关于在 Blender 中运行 python 脚本的主要内容,如果未能解决你的问题,请参考以下文章