That'll mean pre-packaged, certified and checked installers for all sorts of weird and wacky Windows environments.
So sounds like the simplest way in terms of getting the packages installed is to have a single Windows install package (msi) that can be handed to the appropriate IT administrators for them to install.
By weird and wacky - I'm guessing that we need to take account of the following:
- Different versions of python
- Different versions of Windows
- Different architectures (32bit vs 64bit)
- Different python install directories
- Any other things that could complicate this?
The problem then comes with helping the teacher / IT administrator choose the right package. For example one of the issues with installing Pygame is that the website lists 8 different installers which only go up to Python 3.2. Bitbucket has 10 different installers (+10 zip files) which go up to python 3.4 (but not 3.5 which is the latest Python release for Windows). Potentially there could be a huge number of packages which could be confusing.
The following may help make this a little easier:
- Restrict the versions of Python that are supported. I think it makes sense to only use Python 3.x for the "official" education install. Or perhaps even be more specific and recommend only specific versions of Python for use in education (perhaps current and 1 previous version - eg. 3.5 and 3.4)?
- Or perhaps have the installer look for different versions and install accordingly (not sure how easy this is to implement, assuming sticking with version 3 then I expect it's more about installing into the right folders than having multiple versions of the modules).
I don't actually have any experience with creating Windows install files, but it doesn't look it should be too difficult - famous last words :-). I've installed Visual Studio, so I'm going to take a look at that myself - although if anyone already has any guides / best practices / suggestions then please let me know. So the next thing would be to decide what packages we would include - I'll leave this discussion to run first.
This is just my thoughts - please let me know if you think there is a better way or if you have any suggestions.
Stewart