[Bf-committers] Issues with building blender as a python module on Linux

Dalai Felinto dfelinto at gmail.com
Thu Sep 12 15:20:17 CEST 2019


Hi Alex,

When building python as a module, you will get a "bpy.so" file. This
will be in a "bin" folder under your build folder.
In your case :/home/username/blender-git/build_linux_bpy/bin/bpy.so
which is not the same you are trying to use from /scripts/modules/bpy

PS: We need to update the API page. It currently points to a
non-ported wiki page for the build instructions:
https://docs.blender.org/api/current/info_tips_and_tricks.html?#blender-as-a-module

Cheers,
Dalai

Em ter, 10 de set de 2019 às 17:02, Alex Delgado
<alexdel247 at gmail.com> escreveu:
>
> Hi,
>
> I am not sure if this is the best place to ask this question, but I have
> been trying to build blender as a python module on my Linux (Debian
> GNU/Linux 9.9) virtual machine, and I have been having a lot of trouble.
>
> I have followed this instructions:
>
> https://wiki.blender.org/wiki/Building_Blender/Linux/Ubuntu
>
> https://blender.stackexchange.com/questions/126959/how-to-build-blender-as-python-module
>
>
> and have tried with different versions of Blender (2.81 and 2.79) and with
> different variations in step 2 of installing the dependencies such
> as install_deps.sh --skip-python --skip-numpy.
>
> In step 3 (Compiling blender with CMake) I run the below command in cd
> ~/blender-git/blender
> instead of just make. These parameters(except for the ones in blue, is what
> the output told be to do after running  install_deps.sh .
>
>   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'"
>
> After this step, I get a message that blender was successfully built, but
> then after trying to import bpy, after typing python3 or python in the
> Linux command like I get this error:
>
> >>> import bpyTraceback (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,
> contextModuleNotFoundError:
> No module named '_bpy'
>
> This is after adding this to my Pythonpath:
>
> export
> PYTHONPATH=$PYTHONPATH:/home/username/blender-git/build_linux_bpy/bin/2.79/scripts/modules:/home/username/blender-git/build_linux_bpy/bin/2.79/scripts/modules/bpy
>
> I take the error above to mean that it is trying to run it as an internal
> blender C module according to this post .
> https://stackoverflow.com/questions/37187025/blender-python-bpy-init-py-apparently-importing-from-a-non-existent-mod
>
>
> My question is what am I missing here to make this work? Is there a
> parameter that I am missing when running sudo make bpy? Do I need to do
> something different in the Pythonpath? Do I need to have a specific version
> of python in order for this to work? (I have 2.7 and 3.7 that came from the
> anaconda package).
>
> About two years ago I was able to successfully build blender 2.78 as a
> python module in my windows machine and use it directly from my python
> interpreter in eclipse. I remember the process being tedious as well, but
> this time I feel like I have exhausted all the answers from the internet.
>
> If anyone has successfully build blender as a python module on linux, and
> has ran into similar issues as mine and could point me to what I am doing
> wrong I will greatly appreciate it.
>
> Thanks,
>
> Alex
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> https://lists.blender.org/mailman/listinfo/bf-committers


More information about the Bf-committers mailing list