子目录中的导入脚本不起作用...Blender 附加组件
Import script in sub directory not working... Blender Add-On
我有这样的文件夹结构:
C:
|_Blueprint
│ main.py
│
└───toolbox
blueprint_tools.py
当我在 Blender 的脚本文本页面中 运行 这段代码时:
from toolbox.blueprint_tools import dimension, array, modify
我在控制台中收到错误消息
Traceback (most recent call last):
File "\main.py", line 20, in <module>
ModuleNotFoundError: No module named 'toolbox'
Error: Python script failed, check the message in the system console
我发誓,当我 运行 此代码(在其他项目上)在 Blender 之外时此结构和代码 运行 没问题。但是当 运行在 Blender 中使用这个脚本来测试我的插件时,我得到了一个错误。
如果我将 Blueprint 文件夹编译成 .zip 并安装它,一切正常.... ??
我迷路了,谁能帮帮我。
如果我 运行 这样的代码:(在 CWD 的工具箱之前添加了一个 .)
from .toolbox.blueprint_tools import dimension, array, modify
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
你的两个错误跟踪都写 File \main.py ...
这意味着 Blender 认为你的 main.py
文件位于根文件夹中,不知道它在文件系统层次结构中的真实位置。
当您将结构安装为 zip 文件时,您向 Blender 提供了所有必要的信息。
附录:
暂时,在开发/调试您的附加组件期间,您可以将 完整路径(用于查找您的 toolbox.blueprint_tools
模块)添加到 sys.path
变量。
有两种可能性:
将这些命令插入到您的 main.py
文件中(使用 您的 parent 文件夹的路径当然是你的 toolbox
文件夹):
import sys
sys.path += [r"C:\Users\Davi\Documents\Python\PARENT_of_toolbox"]
在你的声明之前
from toolbox.blueprint_tools import dimension, array, modify
命令,或
将这些命令插入到您的 main.py
文件中(当然,使用 您的 toolbox
文件夹的路径):
import sys
sys.path += [r"C:\Users\Davi\Documents\Python\PARENT_of_toolbox\toolbox"]
在你的修改声明之前
from blueprint_tools import dimension, array, modify
我有这样的文件夹结构:
C:
|_Blueprint
│ main.py
│
└───toolbox
blueprint_tools.py
当我在 Blender 的脚本文本页面中 运行 这段代码时:
from toolbox.blueprint_tools import dimension, array, modify
我在控制台中收到错误消息
Traceback (most recent call last): File "\main.py", line 20, in <module> ModuleNotFoundError: No module named 'toolbox' Error: Python script failed, check the message in the system console
我发誓,当我 运行 此代码(在其他项目上)在 Blender 之外时此结构和代码 运行 没问题。但是当 运行在 Blender 中使用这个脚本来测试我的插件时,我得到了一个错误。
如果我将 Blueprint 文件夹编译成 .zip 并安装它,一切正常.... ?? 我迷路了,谁能帮帮我。
如果我 运行 这样的代码:(在 CWD 的工具箱之前添加了一个 .)
from .toolbox.blueprint_tools import dimension, array, modify
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
你的两个错误跟踪都写 File \main.py ...
这意味着 Blender 认为你的 main.py
文件位于根文件夹中,不知道它在文件系统层次结构中的真实位置。
当您将结构安装为 zip 文件时,您向 Blender 提供了所有必要的信息。
附录:
暂时,在开发/调试您的附加组件期间,您可以将 完整路径(用于查找您的 toolbox.blueprint_tools
模块)添加到 sys.path
变量。
有两种可能性:
将这些命令插入到您的
main.py
文件中(使用 您的 parent 文件夹的路径当然是你的toolbox
文件夹):import sys sys.path += [r"C:\Users\Davi\Documents\Python\PARENT_of_toolbox"]
在你的声明之前
from toolbox.blueprint_tools import dimension, array, modify
命令,或
将这些命令插入到您的
main.py
文件中(当然,使用 您的toolbox
文件夹的路径):import sys sys.path += [r"C:\Users\Davi\Documents\Python\PARENT_of_toolbox\toolbox"]
在你的修改声明之前
from blueprint_tools import dimension, array, modify