【问题标题】:No module named 'bpy' but it's installed没有名为“bpy”的模块,但已安装
【发布时间】:2022-06-25 15:16:29
【问题描述】:

我已经尝试安装 bpy 几个小时了。我使用了“pip install bpy”,但遇到了一些关于“bpy_types”模块的错误。我关注this thread 并找到了 bpy_post_install 可执行文件。我还尝试了涉及 \Scripts 中的 2.82 文件夹的步骤。在我运行 bpy_post_install 之后,当我运行 VSCode 时,python 无论如何都找不到 bpy。我运行python3 __init__.py 并得到错误line 4, in <module> import bpy ModuleNotFoundError: No module named 'bpy'。然后我尝试pip install bpy 并得到Requirement already satisfied: bpy in C:\users\... (2.82)

我几乎不知所措,我从来没有见过 python 声称一个模块没有安装,而它显然是。

【问题讨论】:

  • 您确定您使用的pip 是您呼叫的python3

标签: python blender bpy


【解决方案1】:

我发现您遇到了 bpy 似乎没有被“安装”的问题(我把它放在引号中,因为您显然是用终端安装的。)

我不太擅长这些非常有趣的模块,比如 bpy。但是,我在搅拌机方面做了很多工作,所以我想试试看能不能帮上忙。

首先,我观看了这个视频 - Blender Addon #1 - Python Programming Introduction (Bpy module, data, Context and Types),它让我对 bpy 模块以及如何使用它有了一些有用的了解。

在视频中,他分解了其中一些内容,因此您不必观看 18 分钟的视频。

先决条件?

  • OOP、Python 和 Blender 的基本知识(面向对象编程 = OOP)

他的教程 应用程序名称下方的脚本选项卡、窗口和退出按钮非常右侧。

它会打开一个叫做 REPL 窗口的东西

  • 阅读
  • 评估
  • 打印
  • 循环

当我尝试这个时,它起作用了,也没有起作用,这似乎很奇怪

  • 当我打开一个我打算用于Three.Js 的复杂模块时,它完美地工作 -输入 bpy 然后点击选项卡,它应该会显示所有预填答案

  • 但是,当我对立方体使用新的搅拌机文件时,它开始给我错误。


现在关于您在这里面临的错误是我发现的

Blender Stack 交换

  • 人们说 bpy 只能在 Python 解释器本身的 blender 内部使用。但是,这是旧的,从 2013 年开始。Here is the thread

Github

  • 有一个线程(已链接)或多或少有相同的问题。
    • CarlosDubarreto 在 4 月 26 日表示可以使用 conda 安装 bpy 模块
    • 但是,他说它可能仅在您至少使用 miniconda 时才有效。 Referenced Used

什么是 conda?

  • Conda 是一个开源、跨平台、与语言无关的包管理器和环境管理系统Conda Documentation

conda 和 pip 的区别

  • 是他们放入包的地方。Pip 包是 Python 库,如 NumPy 或 Matplotlib。但是,conda 包包括 Python 库、C 库和 C 编译器等可执行文件,甚至是 Python 解释器本身。

让 bpy 使用上面提到的 Conda 方法。

安装完 Conda 后运行上面 GitHub 方法中提到的这行代码

conda install -c kitsune.one python-blender

替代方法

  • 在 GitHub 线程 xiezhongzhao 中说你可以安装 fake-bpy。 Link to fake-bpy

  • 他提到要运行的行是:

    pip install fake-bpy-module-2.80

但我建议改为运行此行,上面的 GitHub 存储库中提到了它

pip install fake-bpy-module-latest

我推荐这个,因为它将是最新版本而不是特定的搅拌机版本

但是,该 GitHub 线程中的人表示,他们仍然在 Python 中遇到与 bpy 相关的错误,因此请尝试并告诉我。

【讨论】: