Using Python in IDeATe¶
The example code for the course includes Python scripts, primarily for controlling hardware via a serial-attached Arduino. The following notes will guide you in getting started on running the examples on the IDeATe cluster laptops.
Contents
Python in the IDeATe MBP Cluster¶
The course primarily supports using the IDeATe cluster MacBook Pro laptops for Python development. However, these laptops have at least three different Python intepreters:
- MacPorts Python (recommended):
/opt/local/bin/python3.5
- The system Python supplied by Apple:
/usr/bin/python
- An independent Python 3:
/usr/local/bin/python3
The standard Python libraries are quite comprehensive but do not include several essential libraries needed for Physical Computing work (notably pySerial). For this reason, the only supported interpreter is the MacPorts installation.
An example of running a course Python script from the command line (e.g. Terminal) might look like this:
$ /opt/local/bin/python3.5 virtual_mpd218.py --help
The initial $
represents the prompt, /opt/local/bin/python3.5
the
specific Python interpreter from MacPorts, virtual_mpd218.py
is the
particular script to run, followed by command-line arguments. In this case,
--help
will simply print out all possible arguments.
Python in the IDeATe Dell Cluster¶
The course materials have not yet been tested under Windows 10 on the IDeATe Dell cluster laptops. However, these machines have Anaconda Python 3 installed so in principle should work.
Reference: IDeATe Software.
Python Tutorials¶
For tutorials: https://www.python.org/about/gettingstarted/
For documentation: https://www.python.org/doc/
For information on third-party packages: https://pypi.python.org/pypi
Editing Python¶
Python is a whitespace-sensitive language in which indentation must be precise. This essentially requires use of a syntax-sensitive programming text editor.
For beginners, the IDLE
editor is recommended. The XCode editor works with
Python. Advanced command-line users may enjoy emacs
or vim
. Many
people seem to like the commercial Sublime Text
application.
A much longer list can be found at https://wiki.python.org/moin/PythonEditors
Python 2 versus 3¶
Python currently exists in two major branches. Python 3 introduced incompatible features, so many projects have continued to use Python 2 for better library support. The situation is slowly resolving as libraries are being ported forward.
The course materials are written in a 2/3 compatible style and but are only tested on Python 3. Currently, 3.5 is recommended for use on the IDeATe laptops but the transition to 3.7 is underway.
For more details on cross-version compatibility, please see Python-Future.
Python on your own laptop¶
Since we provide the cluster machines, we will not provide support for your personal systems, it is just too labor-intensive. But if you’d like to set one up, please see System Requirements.