[Pythonedu-wg] The installation and deployment experience

Nicholas H.Tollervey ntoll at ntoll.org
Tue May 10 12:10:02 EDT 2016


Hi Stewart!

Comments in-line... ;-)

On 10/05/16 16:35, Stewart Watkiss wrote:
> Hi All,
> 
> This list has been quiet of late, which is quite understandable with all
> the new things Python and Education related that have been going on. For
> example MicroPython on the micro:bit (well done to all involved!). For
> my part I've been writing a book "Learn Electronics with Raspberry Pi".
> It's due to be released in about a month and includes quite a bit of
> Python :-)
> 

Congratulations. At what age/experience level is the booked aimed. For
example, could I let my Sam (11yo, now with his own shed) loose with
it..? ;-)

> Now I've got most of my book out of the way I've got a bit more time so
> I'm keen to get the discussion moving on how we can simplify the
> installation / deployment experience for Python in the classroom (and at
> home).
> 

This is a very important topic, not least because it's not just isolated
to installing Python. In my experience, installing ANYTHING is a royal
PIA in the classroom. Especially if the equipment is controlled /
sub-contracted out to ATOS, CAPITA and their ilk.

Put simply, it appears to be a bit of a "racket" where installing
*anything* requires inordinate investment of time and effort into an
expensive and slow moving process.

My hunch is some guerilla type action is required.

(It's why we ensure Mu is a stand-alone executable, so you just have to
drag and drop it).

> I've been thinking about this some more, thinking about the issues (or
> at least what I perceive them to be) and looking at what options are
> available.
>

No matter what the options could or should be, the rather large elephant
in the room is the "racket" described above.

> I think that the initial idea is to have a list of packages that can be
> pre-installed ready for pupils to use is still a good idea, but I also
> think we need a way that these can be updated, or that users can install
> other packages as appropriate. One reason for this is that there is good
> work on some modules that could greatly help when teaching programming.
> If these modules are being actively developed then it may mean updating
> these. For example I'm thinking of Pygame Zero, which is still in its
> early stages. It provides an easy way to get started with graphical
> applications, but I expect will include new features in the future.
> 

Other FooBarZero packages are in the works and exactly the same argument
applies to them too.

> Updating the initial install of Python on a school computer may need
> involvement from the computer administrators which can be an issue.

Bingo.

> Perhaps pyenv provides a potential solution allowing students to install
> additional modules. As this feature is already included in the recent
> version of Python then perhaps we just need documentation for the
> teachers and/or students that will allow them to make use of these
> features.
> This won't necessarily help with using Python on a computer without an
> Internet connection, so perhaps we need this in addition to the
> pre-installed modules.
>

I'm more concerned with the rather shonky way in which computers are
configured at schools. Many are virtualised thin clients and I'm not
sure how effective yet another environment would be.

> This is so far mostly my own thoughts from my (fairly limited)
> experience helping with after school clubs. So I think the first thing
> is to understand what the problem is and also if anyone else knows of
> other ways that this could be addressed.
> 
> * Does anyone have any thoughts they'd like to share on what the issues
> are?
> * Do you think I'm thinking along the right lines or not?
> 

Absolutely you're thinking along the right lines... keep it up!

I think much of the problem is a hearts-and-minds issue though. Many
teachers simply don't have the knowledge to see that shonky
sub-contracted set-up is sub-standard and a terrible pedagogical platform.

> My own experience of Python is as someone that has quite a bit of
> experience programming in Python, but always on a computer that I've
> been administrator for and mainly on Linux. I normally just install any
> modules I need and don’t have any experience of the internals of the
> Python interpreter or PIP. So:
> 
> * If anyone has other suggestions based on their experience then please
> share them too.
> 

Make it as simple as possible for installation and updates to happen.
That'll mean pre-packaged, certified and checked installers for all
sorts of weird and wacky Windows environments.

N.

> Regards
> Stewart
> 
> 
> -----Original Message-----
> From: Pythonedu-wg
> [mailto:pythonedu-wg-bounces+swatkiss=emea.att.com at python.org] On Behalf
> Of Stewart Watkiss
> Sent: 06 January 2016 09:51
> To: pythonedu-wg at python.org
> Subject: Re: [Pythonedu-wg] The installation and deployment experience
> 
> Hi Caleb,
> 
> Welcome to the list.
> 
> We did have some discussions in September & October last year. The main
> discussion was about the editor which I understand is work in progress.
> 
> This is the contribution I added previously on the installation /
> deployment. I'm very happy to contribute to this discussion and towards
> any implementation plans. I am going to be very busy the first few
> months of 2016, although that won't stop me joining in the discussion.
> 
> -- Previous email from 28 Sept 2015 --
> 
>> 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 arguably 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 additional 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 modules (and software in general) on
> Windows as it may be necessary 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 administrator 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.
> 
> 
> 
> 
> 
>  From: Pythonedu-wg
> [mailto:pythonedu-wg-bounces+swatkiss=emea.att.com at python.org] On Behalf
> Of Caleb Hattingh
> Sent: 06 January 2016 03:57
> To: pythonedu-wg at python.org
> Subject: [Pythonedu-wg] The installation and deployment experience
> 
> Hi everyone
> 
> I joined this WG only yesterday. I'd like to help, if possible, with the
> installation and deployment experience.
> 
> - "Installation": whatever needs to happen for a learner to be able to
> write code on their device
> - "Deployment": whatever needs to happen for a learner to give their
> creation to a friend so that the friend can use it on their device.
> 
> Is there any other prior, online discussion on these two points that I
> could use to catch up on what's already been discussed? I've already
> seen the google doc that Carrie Anne set up, for "Python Education
> Bundle", here:
> 
> https://docs.google.com/document/d/1XZS-piBFsoKbZwnoZZZbmypxMXhz4U0pa0NCZFphvvk/edit?usp=sharing
> 
> 
> rgds
> Caleb
> 
> 
> _______________________________________________
> Pythonedu-wg mailing list
> Pythonedu-wg at python.org
> https://mail.python.org/mailman/listinfo/pythonedu-wg


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/pythonedu-wg/attachments/20160510/26921653/attachment.sig>


More information about the Pythonedu-wg mailing list