Python:在Windows上运行bpy脚本

时间:2015-12-06 06:34:39

标签: python blender

我找到了2个加载文件并以其他格式转换的在线命令;下一步是为文件夹中的所有文件运行脚本。

虽然这些命令需要bpy,我无法导入。

我安装了python 3.4和最新的Windows搅拌机。为什么Python找不到bpy库?我习惯在unix系统上使用pip,这是我第一次尝试在windows上使用python。

在最坏的情况下,我将通过VM使用linux,但因为我在Windows上运行;我宁愿知道你如何使用bpy。

更新:

我在导入bpy时检查了与错误相关的类似主题;在这种情况下,模块不存在,而在我的情况下,我可以在Blender脚本文件夹中看到该模块。

我确实将脚本复制到Python3.4文件夹,当我运行import语句时,它可以看到它但是抱怨没有_bpy模块的事实。不确定是否存在python版本问题或其他问题。

Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import bpy
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import bpy
  File "C:\Python34\Scripts\bpy\__init__.py", line 38, in <module>
    from _bpy import types, props, app, data, context
ImportError: No module named '_bpy'

1 个答案:

答案 0 :(得分:1)

作为python module的Blender仅在您自己构建blender时可用,通常bpy模块只是blender二进制文件的一部分,并且不能与任何官方blender版本单独提供。在这个阶段,我不知道任何第三方可以下载bpy模块。

有几种方法可以在搅拌机中使用bpy模块 -

  • 在blender的运行副本中 - blender包含一个python控制台,可以像普通的python解释器一样使用,它还包括一个简单的文本编辑器,可以选择将文本块作为python脚本运行。 / p>

  • 从cli运行blender中的脚本 - 你可以告诉blender在后台运行(没有gui)并运行python脚本。

    blender -b --python-console
    
  • 也可以使用blender作为python解释器

    <?php
    $xml = simplexml_load_file('example.xml');
    
    $toDelete = array();
    
    foreach ($xml->item as $item) {
    
        $price  = $item->Price1;
    
        if ($price < 50 ) { 
            $toDelete[] = $item;
        } 
    }
    
    foreach ($toDelete as $item) {
        $dom = dom_import_simplexml($item);
        $dom->parentNode->removeChild($dom);
    }
    
    echo $xml->asXML("result.xml");
    

默认情况下,使用blender作为python解释器只能访问blender包含的简化模块列表及其分发。您可以手动将python模块安装到安装了python的blender中以使它们可用。也可以调整模块的paths that python searches。如果您自己构建blender,可以选择使用系统python而不是本地副本,您还应该能够删除(或移动)blender附带的python库并让它找到系统安装的版本,小心使用匹配版本。