BHoM / Python_Toolkit

GNU Lesser General Public License v3.0
4 stars 2 forks source link

Use the windows installer for installing base python environments #142

Closed Tom-Kingstone closed 1 week ago

Tom-Kingstone commented 2 months ago

Description:

The embeddable python package does not contain tkinter - a necessary library for users that may want to do UI work in python. Annoyingly tkinter can't be installed directly through pip, so the only other option is to invoke the windows installer to include pip with the base python environment.

Using the windows installer has the side effect of creating registry keys for each major version - meaning that more than one specific version of python cannot be installed at once (e.g 3.10.5 and 3.10.4 cannot be installed at the same time) if using the windows installer. As specific versions of python differ little from another within the same major version (usually only bug fixes), we can safely ignore the smaller specific versions and simply use just the most recent version (x.y.z where z is the largest possible number).

This will change the structure of the base python environment - to have each major version of python (if a user installs it), but we will continue to maintain that python 3.10 is the currently supported BHoM base version. The Python_Toolkit folder in PythonEnvironments will contain folders with each version of python currently installed.

Virtual environments will be created from the necessary major version number and ignore the minor version number.