Does this also hold, if a user wants to use the Blender bindings and other third-party packages, e.g. those at PyPI? If Blender switches to Python 3.8, a user has to install these additional packages within Blender’s Python environment.
Even if you have Python 3.7 on your system and use Blender with Python 3.7, Blender still uses it’s internal Python. So if you install a library in your system’s Python, Blender cannot use it. You can delete Blender’s Python, so it will use your system’s one, or other methods: https://docs.blender.org/api/current/info_tips_and_tricks.html#bundled-python-extensions
Actually, there is a undocumented method, which is to enable pip in Blender’s Python itself:
- Not sure if this method still works though, because I encountered that in Blender 2.81
ensurepip was removed?
Of course, if there is a frequently requested feature, it makes sense to upgrade the version.
However, the general policy should be that upgrades are well justified and not a result of simply depending on the most recent version just because it has the highest version number.
Blender’s community comes in a large variety and doesn’t have a single user type. What might be unimportant to one user, might be a life safer in another. If you come across such method, but say it’s only in 3.8, you have to wait till Blender upgrades, even if you request it. This staying up-to-date with technology is one of the reasons Blender is now popular, in comparison with Maya only now moving away from 2.7…
Edit: Nevermind, 2.81 comes with pip enables by default, so no need for
Edit 2: You would install your library through pip in this way:
pybin = bpy.app.binary_path_python
subprocess.check_call([pybin, '-m', 'pip', 'install', 'your_library'])
Edit 3: Added
pybin, '-m' , otherwise it can install the package in a Python environment which is not Blender’s one.