diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-11-01 10:12:26 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-11-01 10:12:26 +0300 |
commit | 276d19f63b4534545c2e1a9d5c48525298b1a445 (patch) | |
tree | 67531cc739d33bd3edb78ce3916c712eb34dd05f /source/blender/python | |
parent | 4158b7f674bcc05308b50da917798edfdddab469 (diff) |
PyAPI: set sys.executable to None when Python can't be found
Without this, sys.executable may be set to Blender's
executable instead.
Diffstat (limited to 'source/blender/python')
-rw-r--r-- | source/blender/python/intern/bpy_interface.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c index a4417f38756..d72c2ccfcff 100644 --- a/source/blender/python/intern/bpy_interface.c +++ b/source/blender/python/intern/bpy_interface.c @@ -361,17 +361,19 @@ void BPY_python_start(bContext *C, int argc, const char **argv) /* Setting the program name is important so the 'multiprocessing' module * can launch new Python instances. */ { + const char *sys_variable = "executable"; char program_path[FILE_MAX]; if (BKE_appdir_program_python_search( program_path, sizeof(program_path), PY_MAJOR_VERSION, PY_MINOR_VERSION)) { PyObject *py_program_path = PyC_UnicodeFromByte(program_path); - PySys_SetObject("executable", py_program_path); + PySys_SetObject(sys_variable, py_program_path); Py_DECREF(py_program_path); } else { fprintf(stderr, "Unable to find the python binary, " "the multiprocessing module may not be functional!\n"); + PySys_SetObject(sys_variable, Py_None); } } |