SettingUpPython Macintosh Linux
SettingUpPython Macintosh Linux
Adjunct Professor
Worcester Polytechnic Institute
Programming assignments in CS-1004 will be carried out using the programming language
Python specifically, version 3.5 of Python. In addition, you will need several Python packag-
es, including one called numpy (meaning Numerical Python) and one called matplotlib, a Py-
thon version of the popular Matlab system. The first part of this document provides instruc-
tions for installing Python 3.5 and packages such as numpy and matplotlib on Macintosh plat-
forms. Click here to skip forward to the Linux section of this document. 1 1F
Copyright 2016, Hugh C. Lauer. All rights reserved. Permission is given for use in courses at Worcester
Polytechnic Institute, Worcester, Massachusetts.
1 If you have a Windows computer or laptop, please refer to this documents instead: docx, pdf
1
Installing Python 3.5 on Macintosh 2, 3 2F 3F
Figure 1
2 It is useful to print out the relevant section of this document. If you read it on-screen, the dialog boxes of
the installation tend to obscure the instructions of the document, just when you need them the most!
3 These instructions have been tested on MacOS X 10.10.3 Yosemite. There may be slight differences with
other versions of MacOS.
2
Double-click on the icon that looks like a shipping carton. Under most circumstances,4 you
will next be presented with the following dialog box of the Macintosh Gatekeeper:
Figure 2
Click OK, and then open System Preferences under the Apple menu. In the System Preferences fold-
er, open the Security and Privacy icon, shown circled in Figure 3, to bring up the Security & Pri-
vacy control panel of Figure 4.
Figure 3
4 If your Macintosh already recognizes you as an administrator, it may skip this and subsequent steps and
continue the installation of ActiveTcl.
3
Figure 4
Notice near the bottom of this panel the message that ActiveTcl-8.5.pkg was block from open-
ing because it is not from an identified developer. Click on Open Anyway to proceed with the installa-
tion. This will involve several more dialog boxes, including an agreement to the licensing
terms. You may need to enter the user ID and password of the Administrator of your Mac-
intosh. You may also have to click on the lock icon at the lower left corner of the window
before you can make the change.
The installation of ActiveTcl should now proceed to completion and display with the screen
in Figure 5. It will finish with a window entitled ActiveTCL User Guide. For CS-1004, it is safe
to ignore this user guide.
4
Figure 5
Figure 6
The message in the dialog box includes information about specific versions of Tcl/Tk. We
have already addressed this issue with the installation of ActiveTcl 8.5.18.0.
5
If the installer complains that there is already a version of Python 3 installed on your comput-
er, please seek help or contact the Professor. You must have Python 3.5.1 for this course.
Earlier versions should be upgraded. Click Continue to bring up another dialog:
Figure 7
This dialog box is scrollable and contains information about what is new in this release. It
also has another reminder to update Tcl/Tk, which we just did in Figure 1 and Figure 4.
Click Continue to bring up additional dialog boxes until the one in Figure 8 appears.
Figure 8
Click Agree to continue the installation. The installation itself will take several minutes and
may show one or more dialog boxes. It will finish with a panel resembling Figure 9.
6
Figure 9
After it has completed, you should find a folder named Python 3.5 in your Applications folder,
as shown circled in solid black below.
Figure 10
Open the Python 3.5 folder to show Figure 11 below.
7
Figure 11
Create an Alias for IDLE and put it in a convenient place so that you can access it easily
for example, on your desktop. Double-click this alias to bring up the following window:
Figure 12
This is IDLE, the Python command prompt and graphical user interface. This is where we will
start all programs and projects in this course.
For now, simply type any Python statement or expression after the >>> prompt. For ex-
ample, Figure 12 shows the expression 3 + 4 + 5 as typed, followed by Pythons response
with the value 12. Continue testing by typing out the code on pages 10-11 of the textbook,
just to make sure that your installation works as expected.
Note: IDLE is essentially the same across Windows, Macintosh, and Linux platforms. It will
be used the same way in all three for this course.
8
numpy (meaning Numerical Python, a package for efficient handling of large arrays
of numerical data), and
graphics.py, a simple tool written in Python 3 and created by the textbook author for
making simple drawings.
Installing matplotlib, numpy, and other packages on a Macintosh requires you to type Linux-
like commands in a Terminal window.
Open the Utilities folder, which is indicated by the dashed circle in Figure 10. This will bring
up the window of Figure 13. Select Terminal (highlighted with a red circle) and open it.
Figure 13
This will bring up a terminal window (also known as a command shell in Unix and Linux ter-
minology). An example terminal window is shown in Figure 14. In this window, in this win-
dow, the system prints a prompt starting at the beginning of a line and ending in $. After the
prompt, you type a command, consisting of a command name followed by zero or more oper-
ands, which control what the command does. When you terminate the command with the
Enter key, the system performs the command.
A command may work silently and then type out its results in the same window, or it may en-
gage in a textual conversation with you, requiring you to respond, or it may open its own
window with its own graphical user interface. When the command has completed, the sys-
tem prints a new prompt for the next command.
Installing numpy and matplotlib
This step requires you to have a working internet connection.
Click on the following links to download two files to the Python-files folder that you created
on Page 2:
numpy-1.11.0-for-MacOS
matplotlib-1.5.1-for-MacOS
Note that the actual names of these two files are really long too long to remember or to
type correctly. Instead, it is better to copy and paste them in the Terminal window.
9
First, type into the Terminal window
cd pathname-of-folder-to-which-you-downloaded
This is shown in Figure 14, where the pathname was Desktop/Python-2016 in the sec-
ond line.
Figure 14
Next, type the command
ls
meaning list directory. Figure 14 shows, in the ninth and eleventh lines the names of the
matplotlib and numpy files, each of which wraps around to the next line.
Upgrading pip
To install numpy and matplotlib, we will use a command named pip3 pip means Python
Installation Program, and 3 refers to the Python 3.x versions of Python.
In Figure 15, we use the pip3 command to upgrade itself. It retrieves a new version (pip-
8.1.2) from the Internet and installs it in place of the previous version 7.1.2.5
5 It is not strictly necessary to upgrade pip; however, if you dont, you will get prompts from pip com-
plaining that it is out of date on all subsequent commands.
10
Figure 15
numpy
To install numpy, first select the entire name of the numpy installation file, right click, and se-
lect the copy command from the menu. The type the following line at the prompt, and paste
what you copied in lieu of the placeholder
pip3 install <paste numpy file name here>
The entire command should be pasted onto one line, even though it will automatically wrap
to the next line due to its length. This command will install numpy as shown in Figure 16 be-
low. If necessary, it will resolve any dependencies on other packages. In this case, there were
none.
Figure 16
You can test your installation of numpy by opening an IDLE window, as in Figure 10. Type
or paste the following commands into IDLE, one line at a time, exactly as written.
Note: In these lines, the word version is preceded by two underscore
characters and followed by two more underscore characters.
The word arange is spelled with one r it is a variation of the
range function that we will learn about in the first week of class.
11
import numpy as np
np.__version__ 6F
a = np.arange(10)
a
b = np.arange(1, 9, 2)
b
c = np.eye(3)
c
d = np.diag(np.array([1, 2, 3, 4]))
d
After each line a, b, c, and d, Python will print the values of these variables. The result should
resemble Figure 15 below:
Figure 17
Congratulations! You have successfully installed and tested numpy 1.11.0. However, we will
run another test below.
matplotlib
Installation of matplotlib is done the same way. Copy the name of the matplotlib installation file
into the following command into the Terminal window, all on one line:
pip3 install <paste matplotlib file name here>
This is shown in Figure 18 below. Note that, matplotlib depends upon several other software
packages; the .whl file instructs the pip3 install command to retrieve them from the
Internet and install them, also.
12
Figure 18
In addition, you will need one other package nose that will help test your installation.
The installation of nose is shown in Figure 19.
Figure 19
To test your matplotlib installation, type or paste the following commands into IDLE, one line
at a time, exactly as written:
from matplotlib import pyplot
pyplot.plot([1, 2, 3, 4], [1, 4, 9, 16])
pyplot.show()
13
The IDLE window should look something like the following:
Figure 20
After you type the ENTER key following the last line, the following window should appear:
Figure 21
To close this window, click on the Macintosh close button in the upper left corner.
For a more interesting test, download the following file to a convenient folder and save it as
a .py file:
TestMatplotlib2.py
Then, use the File menu in the IDLE window to open this file in its own window, as shown
in Figure 22:
14
Figure 22
Click on this window to make it the active window, and then select the the Run > Run Module
command in the IDLE menu at the top of the Macintosh screen. This will cause the Python
program to run and to produce the window of Figure 23.
This tests not only matplotlib but also numpy (in the background). The result should be a win-
dow like this:
Figure 23
15
Congratulations! You now have a working version of matplotlib installed. As part of this test,
a copy of the picture was saved under the name test.png in the current directory.
Note also that matplotlib used numpy in the background to build up the array of points making
up the graph.
For a final test, type the following into an IDLE window:
import numpy as np
np.test()
This will run a complete set of tests of the numpy package for several minutes, producing a
lot of output. The output begins with the lines in Figure 24 and continues for some time. At
times, it may seem like it has paused or stopped. Please be patient.
On some systems, it may ask to install or update gcc (the compiler for the C
programming language). If it asks, say no or later.
Figure 24
Eventually, it will finish with some apparent errors as shown in Figure 25 below. You may
ignore these errors.
Figure 25
16
The last line shows that 5755 tests were run with three errors and one failure. This is consid-
ered success.
Congratulations! You now have both matplotlib 1.5.1 and numpy 1.11.0 working.
Cleaning up
Note that dmg files in Apple parlance are really virtual disk images. Opening the files to in-
stall ActiveTcl 8.5.18.0 leaves behind a disk icon on your desktop. You can remove these it
right-clicking and selecting Eject.
Installing Graphics.py
To install graphics.py, click on this link graphics.py and download the file to the folder
where you keep your Python programs. Follow the instructions on p.488 of the textbook.
17
Installing Python 3 on Linux
Linux comes in many flavors supported by different organizations with different approaches
to software installation. The desktop/laptop versions of Linux typically package the most
common applications including Python in their automated download and installation
systems. The following describes the installation on Ubuntu 14.04, a popular Linux version in
use on the WPI campus, also known by the code name Trusty Tahr. 6, 7 7F 8F
To determine whether or not Python is installed in your Linux (for any version or distribution
of Linux), open a Terminal Window (also called a Command Shell) and type the following two
commands (on separate lines):
which python
which python3
If either returns the name of an executable file, then execute it to start that version of Python.
The version number should be the first thing that Python says, as illustrated in the following
figure for python (line 5) and python3 (line 15):
Figure 26
The first two commands (lines 1 and 3) ask which file contains the programs python and py-
thon3, respectively. In this case, both programs are present in the indicated files. If either had
not been present, the command would have reported nothing.
6 It is not clear whether up-to-date versions of Python are available for download on older releases of Ubuntu
or other versions of Linux. If you have an older Linux and are not able to upgrade, please see the Profes-
sor or Teaching Assistants for advice.
7 The WPI Computer Science Department maintains a mirror distribution site for Ubuntu releases at
http://ubuntu.cs.wpi.edu.
18
In line 5, the python program is run. Its first action is to print a preamble announcing its ver-
sion and other (possibly useful) information; in this case, it is Python 2.7.6. The exit() com-
mand following the traditional Python prompt of >>> merely tells Python 2.7.6 to finish
what it is doing and to quit.
In line 14, the python3 program is run. You can see from its preamble that it is Python 3.4.0. 8 9F
Note: Both Mac OS X and Linux come with Python 2.7 already installed
for their own needs. That version of Python must not be deleted or
disturbed when installing Python 3.4 and its packages.
Installing IDLE
Figure 26 applies to any version Linux from any distributor to determine whether or not Py-
thon is installed and, if so, what version it is.
The following is specific to Ubuntu Linux. Users of other Linux distributions should carry
out similar actions on those distributions. Select and open the Ubuntu Software Center icon
in the toolbar on the left of the Ubuntu desktop. In the upper right, enter the term
Python3 in the search box. A search should produce the results shown in the figure below.
Figure 27
This shows that the Ubuntu Software Center knows about several versions of Python 3 and sev-
eral versions of IDLE. The last line is highlighted and shows an Install button for IDLE
using Python 3.4). Click on this Install button to cause IDLE to be downloaded installed.
8 This is one minor release older than the versions that we have installed on Windows or the Macintosh.
However, we will live with that difference for CS-1004.
19
When the installation has completed, a new icon will have been added to the toolbar on the
left, namely, the IDLE icon . IDLE has now been installed.
Testing your Linux installation of Python 3.4
Follow the same instructions as with Figure 12 in order to validate that you can run Python.
Figure 28
Although it does not specify which version of numpy is provided, click on the Install button
to install it. It will automatically install any required dependencies. You do not need to select
other options for this course.
20
Finally, open an IDLE window by clicking on the IDLE icon and carry out the tests of Fig-
ure 15. Results of these tests are shown in Figure 29 below. The version of numpy is 1.8.1, as
indicated by line 5 of this window, but your version may be different
Figure 29
Figure 30
21
Install this, just as you installed numpy. To test your installation, carry out the tests of Figure
20 and of Figure 22. This should produce the IDLE window of Figure 31 plots shown in
those figures
Figure 31
Conclusion
Congratuations! You have successfully used Python 3.4 as already installed and have added
IDLE, numpy, and matplotlib.
If you are brave enough (and savvy enough) to use another distribution of Linux, good luck.
The guidance here should help you get started. The official Python download page is at
https://www.python.org/download/
Source tarballs are available to compile for your own environment. Alternatively, a list of
other Python distributors is also provided. Good luck!
22