2
$\begingroup$

I am trying to install Python 3.6 on any of the recent versions of Blender. I cannot use Python 3.5 because I need to use the python package mne. Upgrading to Python 3.7 as in Blender 2.8 results in a failed build and conflicts with packages such as vtk. Therefore, other major packages such as sklearn fail to build.

Is there a way to install Python 3.6 specifically with Blender?

Thanks in advanced.

$\endgroup$
1
  • $\begingroup$ If you build blender against your system python, suggest removing (or renaming) python folder in blender path tree. This will make any 3rd party modules available from system available from blender without having to alter paths etc. Haven't tried 3.7 can attest that 2.8 builds fine for me using my python system version 3.66. on ubuntu 18 Unfortunately questions about building blender are off-topic. $\endgroup$ – batFINGER Oct 18 '18 at 11:47
1
$\begingroup$

It’s to do with setting the PYTHONPATH in blender somewhere. Two min and I will see if I can find it on my phone...

Edit I can’t find the exact answer on my phone. Search for “change python version blender” and you will get the answer, it’s been asked a few times but not for 2.8 as far as I can see.

Also the answer varies depending on OS.

Here it is... Change Python version used by blender

$\endgroup$
0
$\begingroup$

I tried to make my blender use python3.6 and it worked on version v2.79.I think it might also work on other version of python and blender. Steps are listed below:

  • open the blender program folder, you can see the "python3x.dll" in the directory.(in my case, it's "python35.dll")
  • open blender.exe as text file (I used notepad++),and find the "python3x.dll",replace it by "python36.dll"
  • copy a python36.dll into the main directory.(python36.dll can be found where you installed python36)
  • go to the python directory under blender.(in my case: "blender\2.79\python"),backup the "bin" and "lib" foldes, then make link to your python36 directories for them respectively by input below two commands in the administrator command prompt.

    mklink /j bin "C:\Program Files\Python36"
    mklink /j lib "C:\Program Files\Python36\Lib"
    

    The python36 folders here should be changed to match yours.

Now, it may work in many situations.

Addition: I find the "import _ctypes" maybe failed. It seems this method can't link python to it's dll directory.

import sys
sys.path.append('C:\Program Files\Python36\DLLs')

Put the codes at the head of the first python script which will get around the problem.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.