Blender + bundled python – Tricks

Use the code to find the artist, so the artist can create coders

On any operating system, I want to recommend download of standalone Blender instead of using the installer. The installer tries to copy the executable and necessary libraries at locations that need super privileges to make any changes. These situations can be avoided if you are running from a stand-alone Blender instance.

One hiccup when using a standalone Blender is that the bundled python usually lacks “setuptools” and “distutils for some standard package installations. While there are many ways to solve this problem

  1. On windows use Conda environment for Blender
  2. Ubuntu and Mac, install the python interpreter Blender needs
  3. or empower Blender’s bundled python

What I will discuss here is the 3rd option of empowering the Blender’s bundled python by adding distutils and setuptools. This way you don’t have to worry about downloading the huge anaconda setup for windows or go through a possible headache of compiling python from source for other systems. On Ubuntu you have the deadsnakes ppa but again this comes only with the dev packages and the interpreter itself. For the pip tools you have to manually do the get-pip.py step to install the required empowering tools. Rather this same idea of get-pip.py can be used to fix the bundled python of Blender.

First of all download the zipped or tarball of standalone Blender and unzip it to the location of your choice. Once you have downloaded and extracted it a location you should find the Blender folder with the much needed files and sub-folders inside it. Let us by an example to understand this better. If the choice is download version 2.79 then you shall find the embedded python at blenderlocation/2.79/python. Navigating to this directory will show you the below directories

Blender’s embedded python directory contents
  • bin – location that contains the embedded python interpreter
  • include – contains the include files for cythonic and other purposes
  • lib – the meaty part containing all the python packages

Fire up a terminal or command line utility and navigate to location blenderlocation/2.79/python/bin. Inside this folder you should see files as shown in the below screenshot,

The python interpreter shipped with the downloaded standalone Blender.

Run the command as shown in the below screenshot

Ensure you have curl installed and available. Then run curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

Once you have finished getting the get-pip.py then proceed to executing the get-pip.py using the python executable inside the bin folder as shown in the below screenshot

Executing get-pip.py using the embedded python interpreter to install distutils and setuptools.

Step by step

- curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
- ./python3.5m get-pip.py

Once the get-pip.py has finished executing then the bin folder will be populated with executables of pip, easy_install etc.,

Executables related to distutils and setuptools. In third row, the first three entries are the executables of pip.

Now that we have installed the setuptools and distutils it is time to test its ability to install third-party packages. The below screenshot shows an example of installing scikit-learn using the pip tool we just arranged.

The pip installs the packages to the lib folder of the embedded python interpreter
The scikit-learn is now available for your downloaded standalone Blender

Shall we call it a day? or has the day just begun with the tools in place now?

Regards,

#0K

Leave a Reply

Your email address will not be published. Required fields are marked *