Common feedback from people trying to use Python in education is that it can be difficult and confusing to get a system that includes all the dependencies they require.
Not many people have contributed to this discussion although argubly I think this is just as, if not more important than the editor discussion.
Working on my own projects is fairly straight forward as I usually develop on Linux (which is much easier platform for Python development than say Windows), my computer is not restricted in anyway and I always have an internet connection (at least during the development and setup). However when I have worked with schools then it's not been possible to install additional packages as the machines are locked down, or because they are not allowed to connect to the network. So I think this is an important step forward in making it easier to learn programming in Python.
I have found on some of my own projects I have had to list a large number of steps required in installing the pre-requisites that an educational bundle will help with.
I think it's good to start with the requirements rather than solutions. From the "must have" list, and my understanding, I was expecting just a list of modules that could be pre-built and easy installed, but the highly desired list goes beyond that. I think there could be a real benefit with those addditional features, although I'm not sure how easily they can be implemented on computers that are "locked down". One thing I do think we need to consider is how updates to the education bundle can be managed as no doubt there will be additional modules that need to be added in future such as when the next super-dooper Raspberry Pi hat comes out :-)
I think it's worth highlighting some of the issues / difficulties on the different platforms, I've listed some of my experiences below.
**Windows**
It is harder to install python moduels (and software in general) on Windows as it may be neccessary to install using different sources (eg. binary install files as well as PIP). I think the biggest problem with Windows is likely to be that they are locked down to prevent software from being installed (including locking out the teachers in some cases). I think that having a single installable package which includes the most popular modules that are used in education would make it easier to give that as a single install step that can be applied to existing Windows systems. It could then be presented to the adminstrator as a single install client that can be pushed out on the system.
**Linux (excluding Raspberry Pi)**
Although (excluding the Raspberry Pi) Linux is used less in schools than the other platforms I think it's still useful to at least look at how the education bundle can be implemented on Linux. I think this could be useful for colleges and schools looking to re-use some older machines. I think we are likely to see this considered more in future as teachers become more adept with Linux based on experience with the Raspberry Pi. The current PIP system is designed to make it easier to install software, but it's not quite as straight forward as it should be. It can be an issue where a computer is locked down to prevent additional software being installed and support for all packages isn't as easy as it could be. For example to install pygame for Python 3 on Ubuntu requires compiling the package and if using PyUSB (to control a USB device) then that includes dependencies upon Libusb and the package needs to be manually downloaded and installed using setup.py.
**Raspbian on Raspberry Pi**
Raspbian is already further ahead than some other Linux distributions with inclusion of pygame for Python 3, although it still has difficulty with some other packages (such as PyUSB). In some schools the Raspberry Pis are all being used off-network (due to school policy), so I think it would be good to get additional packages installed in the NOOBS image so they are available by default.
**Mac OSX**
Unfortunately I don't have any experience with Mac to be able to comment on the particular issues, although I expect it will not be too different from the other platforms in terms of issues.
-- Stewart Watkiss @stewartwatkiss @penguintutor http://www.penguintutor.com
participants (1)
-
stewart@penguintutor.com