# Install blender as a module with python 3.7 and pyenv Instructions WIP Tested on Ubuntu 18.04. ### Setting up a new python environment using pyenv Follow instructions from [here](https://gist.github.com/alexlee-gk/ba07524dc0d972be9eac#setting-up-a-new-python-environment-using-pyenv). ### Installing boost Follow instructions from [here](https://gist.github.com/alexlee-gk/ba07524dc0d972be9eac#installing-boost). ### Installing blender as a module The instructions are mostly the same as the [official installation instructions](https://en.blender.org/index.php/User:Ideasman42/BlenderAsPyModule) except for a few modifications specified below. Install the python dependecies using `pip`: ``` pip install numpy pip install requests ``` When blender is build as a module, the `blender` binary doesn't get built. So, first build blender as normal following [these instructions](http://wiki.blender.org/index.php/Dev:Doc/Building_Blender/Linux/Ubuntu/CMake). Run `install_deps.sh` to generate the cmake options. For example, build all libraries except for opensubdivision, opencollada and ffmpeg: ``` ./blender/build_files/build_environment/install_deps.sh --source ./ --threads=4 --with-all --skip-osd --skip-ffmpeg ``` When using cmake, use the following python options (in addition to any other options returned from the command above that you need): ``` cmake -DPYTHON_VERSION=3.7 -DPYTHON_ROOT_DIR=~/.pyenv/versions/3.7.0 ../blender ``` Make sure to build it and install it: ``` make -j4 make install ``` This should have created the blender binary `bin/blender`. Now, build blender as a module as described in the [original post](http://wiki.blender.org/index.php/User:Ideasman42/BlenderAsPyModule) (in addition to any other options): ``` cmake \ -DPYTHON_VERSION=3.7.0 \ -DPYTHON_ROOT_DIR=$(pyenv prefix) \ -DCMAKE_INSTALL_PREFIX=$(pyenv prefix)/lib/python3.7/site-packages \ -DWITH_CYCLES=ON \ -DWITH_GAMENGINE=OFF \ -DWITH_IMAGE_HDR=ON \ -DWITH_IMAGE_OPENEXR=ON \ -DWITH_IMAGE_TIFF=ON \ -DWITH_OPENCOLLADA=OFF \ -DWITH_OPENMP=ON \ -DWITH_OPENIMAGEIO=ON \ -DWITH_PYTHON_INSTALL=OFF \ -DWITH_PYTHON_MODULE=ON \ -DPYTHON_LIBRARY=$(pyenv virtualenv-prefix)/lib/libpython3.7m.so \ -DPYTHON_LIBPATH=$(pyenv virtualenv-prefix)/lib \ -DPYTHON_INCLUDE_DIR=$(pyenv virtualenv-prefix)/include/python3.7m \ .. ``` Build it an install it: ``` make -j4 make install ``` This should have created the python library `bin/bpy.so`.