从 Blender python 脚本中的特定文件夹导入模块 (MacOS)

问题描述 投票:0回答:1

在 .blend 文件内的脚本中,我尝试从与该 Blend 文件相关的文件夹导入模块。

这是我的文件夹结构:

型号/

  • model.blend
  • _脚本/
    • 颜色小偷-py-master/
      • colorthief.py
    • ...其他 python 模块存储库在这里

model.blend
在其脚本之一的顶部有此代码:

from os.path import dirname as up

packages_path = os.path.join(up(bpy.data.filepath), "_scripts")

if (not packages_path in sys.path):
    sys.path.insert(0, packages_path)

当我之后尝试导入 colorthief 时 (

from colorthief import ColorThief
),我得到一个
ModuleNotFoundError
。 script/ 文件夹中的所有其他模块也是如此。

我已检查 _scripts 文件夹是否已成功添加到路径中。

我在这里做错了什么?我使用的是 MacOS,但理想情况下正在寻找跨平台解决方案。

python python-3.x blender
1个回答
0
投票

问题是,当您使用“sys.path.insert(0,packages_path)”时,系统文件会出现在文件夹中

Models
试试这个

from _scripts.color-thief-py-master.colorthief import ColorThief

或在使用 'sys.path.insert(0, packages_path)' 之前导入 ColorThief

© www.soinside.com 2019 - 2024. All rights reserved.