Python 3.x 导入子目录中的脚本不工作。。。搅拌机附加组件 我的文件夹结构如下: 当我在Blender的脚本文本页面中运行此代码时: 我在控制台中得到一个错误 回溯(最近一次呼叫最后一次): 文件“\main.py”,第20行,在 ImportError:尝试在没有已知父包的情况下进行相对导入 错误:Python脚本失败,请检查系统控制台中的消息

Python 3.x 导入子目录中的脚本不工作。。。搅拌机附加组件 我的文件夹结构如下: 当我在Blender的脚本文本页面中运行此代码时: 我在控制台中得到一个错误 回溯(最近一次呼叫最后一次): 文件“\main.py”,第20行,在 ImportError:尝试在没有已知父包的情况下进行相对导入 错误:Python脚本失败,请检查系统控制台中的消息,python-3.x,import,blender,init,Python 3.x,Import,Blender,Init,您的两个错误跟踪都写入File\main.py…,这意味着Blender认为您的main.py文件位于根文件夹中,并且知道它在文件系统层次结构中的实际位置 当您将结构安装为zip文件时,您向Blender提供了所有必要的信息 增编: 在开发/调试外接程序期间,您可以暂时将完整路径(用于查找工具箱.blueprint\u tools模块)添加到sys.path变量中 有两种可能的方法: 在main.py文件中插入这些命令(当然,使用工具箱的父文件夹的路径): 在您的声明之前 from tool

您的两个错误跟踪都写入
File\main.py…
,这意味着Blender认为您的
main.py
文件位于根文件夹中,并且知道它在文件系统层次结构中的实际位置

当您将结构安装为zip文件时,您向Blender提供了所有必要的信息


增编:

在开发/调试外接程序期间,您可以暂时将完整路径(用于查找
工具箱.blueprint\u tools
模块)添加到
sys.path
变量中

有两种可能的方法:


  • main.py
    文件中插入这些命令(当然,使用
    工具箱的父文件夹的路径):

    在您的声明之前

    from toolbox.blueprint_tools import dimension, array, modify 
    
    from blueprint_tools import dimension, array, modify
    
    命令,或


  • main.py
    文件中插入以下命令(当然,请使用
    工具箱
    文件夹的路径):

    之前您的修改的声明

    from toolbox.blueprint_tools import dimension, array, modify 
    
    from blueprint_tools import dimension, array, modify
    

  • 谢谢,你的回答很有道理。但我想剩下的唯一一件事是,我如何向Blender提供它在Blender中运行脚本以进行测试所需的所有信息?使用zip文件,就像您已经做的那样。您可以在中找到有关搅拌机特定问题的更多信息。也许[这个答案](使用zip文件,就像你已经做过的那样。你可能会在中找到关于搅拌机特定问题的更多信息。也许。再次感谢,必须编译zip并安装它,只是为了看到我对附加组件所做的一个小更改,只是为了进行一个新的更改,并且必须卸载“重新编译”并重试……你明白我的意思了。这件疯狂的事情就像一个zip安装,但不能作为一个python.py文件在Blenders脚本面板中运行。非常感谢。我将在明天早上尝试一下并报告。我感谢您的帮助。
    Traceback (most recent call last):
      File "\main.py", line 20, in <module>
    ImportError: attempted relative import with no known parent package
    Error: Python script failed, check the message in the system console
    
    import sys
    sys.path += [r"C:\Users\Davi\Documents\Python\PARENT_of_toolbox"]
    
    from toolbox.blueprint_tools import dimension, array, modify 
    
    import sys
    sys.path += [r"C:\Users\Davi\Documents\Python\PARENT_of_toolbox\toolbox"]
    
    from blueprint_tools import dimension, array, modify