Installing multiple versions of Blender with functioning Python

Hi,

I’ve recently started upgrading to Blender 2.8, but for a variety of reasons I still need (emphasise : need !) 2.79. When I installed 2.8, it over-wrote the 2.79 install without giving me any option as to where to install it. When I try installing 2.79 from the .msi file, it refuses to even start because it says there’s a later version of Blender already installed.

I’ve got 2.79 working by downloading the .zip file instead, but the problem is that the bundled Python in the zip file doesn’t work externally to Blender. It works fine within Blender, but if I navigate to the directory where it’s installed and try and start it, it gives the error message complaining that it cannot find “MSVCR120.dll”. Also, the scripts directory that should contain Pip is absent, and I need this to install additional Python modules. So is there a way to force Blender to install to a specific directory ? Alternatively, a workaround to allow the bundled Python in the zip file to run externally (and add Pip) would also be fine for me.

Thanks !

In your install (wherever it is) you have a python folder in which you have a bin folder. It contains the binary for Python (something like python3.7.m )
Open a command line in this directory and do python3.7m -m ensurepip . It will create a pip3 binary that you can use for installing other libraries in this specific Blender install.

See you :slight_smile: ++
Tricotou

1 Like

The easiest and best way is to use none of your versions via .msi.
Use both zipped and self-contained by creating /where-you-unpacked/2.xx/config.

Edit: + what @tricotou says for installing modules.

Thanks for the quick replies !

I already tried the python -m ensurepip command. Works just fine for 2.8 installed via both the msi and the zip, and I can install all the modules I need without any problems at all. But for 2.79 it doesn’t work : whenever I try and run Python (outside of Blender) I get the missing MSVCR120.dll error. Python inside Blender 2.79 runs normally, but it won’t start at all when I try to run it externally from the 2.79/python/bin directory.

Okay, I think I’ve solved it, and it was much easier than I expected : I just downloaded the missing .dll file from the web and saved it in the Windows/System32 folder. Then Python and Pip worked straight away from all versions installed from zip folders (2.78, 2.79, 2.8). Didn’t expect downloading a DLL file to actually work, but this time it did.