在 Linux 上将 blender 构建为 python 模块后,仍然找不到 bpy 模块

在 Linux 上将 blender 构建为 python 模块后,仍然找不到 bpy 模块

我一直尝试在我的 Linux(Debian GNU/Linux 9.9)虚拟机上将 blender 构建为 python 模块,但遇到了很多麻烦。

我已遵循以下说明:

https://wiki.blender.org/wiki/Building_Blender/Linux/Ubuntu

https://blender.stackexchange.com/questions/126959/how-to-build-blender-as-python-module

并尝试使用不同版本的Blender(2.81和2.79)以及在安装依赖项的第2步中使用不同的变化,例如install_deps.sh --skip-python --skip-numpy。

在步骤 3(使用 CMake 编译 blender)中,我在 cd ~/blender-git/blender 中运行以下命令,而不仅仅是 make。这些参数(除了-D WITH_PYTHON_INSTALL=OFF -D WITH_PYTHON_MODULE=ON我添加的参数)是运行 install_deps.sh 后输出告诉 be 执行的操作。

  sudo make bpy -j2 BUILD_CMAKE_ARGS="-U *SNDFILE* -U *PYTHON* -U *BOOST* -U *Boost* -U *OPENCOLORIO* -U *OPENEXR* -U *OPENIMAGEIO* -U *LLVM* -U *CYCLES* -U *OPENSUBDIV* -U *OPENVDB* -U *COLLADA* -U *FFMPEG* -U *ALEMBIC* -D WITH_CODEC_SNDFILE=ON -D PYTHON_VERSION=3.5 -D WITH_OPENCOLORIO=ON -D OPENCOLORIO_ROOT_DIR=/opt/lib/ocio -D WITH_OPENIMAGEIO=ON -D OPENIMAGEIO_ROOT_DIR=/opt/lib/oiio -D WITH_CYCLES_OSL=ON -D WITH_LLVM=ON -D LLVM_VERSION=3.4 -D WITH_PYTHON_INSTALL=OFF -D WITH_PYTHON_MODULE=ON -D OSL_ROOT_DIR=/opt/lib/osl -D LLVM_ROOT_DIR=/opt/lib/llvm -D LLVM_STATIC=ON -D WITH_OPENSUBDIV=ON -D OPENSUBDIV_ROOT_DIR=/opt/lib/osd -D WITH_OPENVDB=ON -D WITH_OPENVDB_BLOSC=ON -D WITH_ALEMBIC=ON -D ALEMBIC_ROOT_DIR=/opt/lib/alembic -D WITH_CODEC_FFMPEG=ON -D FFMPEG_LIBRARIES='avformat;avcodec;avutil;avdevice;swscale;swresample;lzma;rt;theora;theoradec;theoraenc;vorbis;vorbisenc;vorbisfile;ogg;x264'" 

完成此步骤后,我收到一条消息,表明 blender 已成功构建,但是在尝试导入 bpy 后,在 Linux 命令中输入 python3 或 python 后出现以下错误:

>>> import bpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/username/blender-git/build_linux_bpy/bin/2.79/scripts/modules/bpy/__init__.py", line 38, in <module>
    from _bpy import types, props, app, data, context
ModuleNotFoundError: No module named '_bpy'

这是将其添加到我的 Pythonpath 之后的情况:

导出 PYTHONPATH=$PYTHONPATH:/home/用户名/blender-git/build_linux_bpy/bin/2.79/scripts/modules:/home/用户名/blender-git/build_linux_bpy/bin/2.79/scripts/modules/bpy

根据这篇文章,我认为上述错误意味着它正试图将其作为内部搅拌机 C 模块运行。 https://stackoverflow.com/questions/37187025/blender-python-bpy-init-py-apparently-importing-from-a-non-existent-mod

我的问题是,我在这里缺少什么才能使它工作?运行 sudo make bpy 时我是否缺少参数?我需要在 Pythonpath 中执行其他操作吗?我需要有特定版本的 python 才能使其工作吗?(我有来自 anaconda 包的 2.7 和 3.7)。

大约两年前,我成功地在 Windows 机器上将 Blender 2.78 构建为 Python 模块,并直接从 Eclipse 中的 Python 解释器使用它。我记得这个过程也很乏味,但这次我觉得我已经用尽了互联网上的所有答案。

如果有人成功地在 Linux 上将 Blender 构建为 Python 模块,并且遇到了与我类似的问题,并且可以指出我做错的地方,我将不胜感激。

相关内容