forked from monash-merc/cvl-fabric-launcher
-
Notifications
You must be signed in to change notification settings - Fork 1
/
DEPENDENCIES
216 lines (136 loc) · 6.32 KB
/
DEPENDENCIES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
DEPENDENCIES FOR MASSIVE LAUNCHER
1. OVERVIEW
2. RECOMMENDED PYTHON VERSION
3. PYTHON MODULES REQUIRED TO RUN MASSIVE LAUNCHER
4. PYTHON MODULES REQUIRED TO BUILD THE BUNDLED DISTRIBUTABLE APPLICATION
1. OVERVIEW
The MASSIVE Launcher is a wxPython application which can be run by typing
"python massive.py" at the command prompt. It can be built into a Mac OS X
application bundle using py2app, and it can be built into a Windows
application bundle using py2exe. Bundling the application in this way
requires additional Python modules - see Section 4.
2. RECOMMENDED PYTHON VERSION
At the time of writing, wxPython doesn't play nicely with 64-bit Python
versions on Mac OS X, so installing a 32-bit Python version from Python.Org
is recommended. Since there is no strong reason to produce a 64-bit Launcher
application at this stage, I stick with 32-bit binaries on all platforms.
I use the following Python versions:
Mac OS X: http://www.python.org/ftp/python/2.7.3/python-2.7.3-macosx10.3.dmg
Windows: http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi
3. PYTHON MODULES REQUIRED TO RUN MASSIVE LAUNCHER
3.1 wx
3.2 setuptools
3.3 pycrypto
3.4 ssh
3.5 appdirs
3.6 requests
3.7 pexpect
3.8 lxml
3.9 psutil
3.10 boto
3.11 paramiko
3.1 wx
The wxPython GUI toolkit can be downloaded from http://wxpython.org/
It is important to match the wxPython version download with the Python version
you are running. Because I use Python 2.7.x, I download a version of wxPython
including "27" in the filename.
I use the following wxPython versions:
Mac OS X: http://downloads.sourceforge.net/wxpython/wxPython2.8-osx-unicode-2.8.12.1-universal-py2.7.dmg
Windows: http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-unicode-2.8.12.1-py27.exe
3.2 setuptools
The setuptools module isn't required to run the launcher, but it is required
to build a Mac application bundle, and it is useful to have installed, so that
other Python modules can be installed using "sudo python setup.py install".
I use version 0.6c11 of setuptools:
http://pypi.python.org/pypi/setuptools/0.6c11
MS Windows installers are available. I use:
Windows: setuptools-0.6c11.win32-py2.7.exe
Mac OS X: setuptools-0.6c11-py2.7.egg
The setuptools module can be installed on Mac OS X by running:
sh setuptools-0.6c11-py2.7.egg
3.3 pycrypto
I use version 2.3 of the pycrypto module: http://pypi.python.org/pypi/pycrypto/
which is required by the SSH module: http://pypi.python.org/pypi/ssh/
pycrypto can be difficult to build from source on Windows, but you can download
a binary from:
- http://www.voidspace.org.uk/downloads/ OR
- http://blog.victorjabur.com/2011/06/08/modules-python-library-compiled-for-windows-32-and-64-unofficial-windows-binaries-for-python/
On Mac OS X, pycrypto can be downloaded as source from:
http://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.3.tar.gz
If you have an appropriate version of gcc and related tools installed, then
the pycrypto module can be installed using:
python setup.py build
sudo python setup.py install
Building Python modules including C code on Mac OS X requires matching the
version of gcc used to build the module, with the version of gcc, used to
build Python itself. If you have installed a cutting edge version of the
Xcode developer tools, then you may find that Python modules fail to build,
because you are running gcc 4.2 in /usr/bin/, but Python itself was built with
gcc 4.0. To revert back to a less cutting edge version of the Xcode developer
tools, you can refer to his blog article:
http://macfiets.blogspot.com.au/2011/05/how-to-download-xcode-3.html
which takes you to the following link:
http://connect.apple.com/, https://developer.apple.com/downloads/index.action#
where you can download the "Xcode 3.2.6 and iOS SDK 4.3" disk image.
If you find that the Xcode application itself refuses to install, and you want
to install it, follow the trick on this page: http://anatomicwax.tumblr.com/post/8064949186/installing-xcode-3-2-6-on-lion-redux
If you are rolling back from gcc 4.2 to gcc 4.0, you will need to fix up the
symbolic links in /usr/bin/:
cd /usr/bin/
sudo mv gcc gcc.bkp # Make a backup of the old symbolic link.
sudo mv cc cc.bkp # Make a backup of the old symbolic link.
sudo ln -s gcc-4.0 gcc
sudo ln -s gcc-4.0 cc
To ensure that you are building pure 32-bit Intel binaries, and not hybrid
Universal binaries (including the PowerPC architecture as well), set the
"ARCHFLAGS" environment variable to "-arch i386" before running:
python setup.py build
sudo python setup.py install
If after all of that hard work, you find that "import pycrypto" doesn't work,
don't worry - the correct module name is "Crypto". Try "import Crypto".
3.4 ssh
I use version 1.7.14 of the PyPi SSH module, which can be found here:
http://pypi.python.org/pypi/ssh/1.7.14
It contains pure Python code, so its installation doesn't require a C compiler.
It can be installed using:
python setup.py build
sudo python setup.py install
3.5 appdirs
I use version 1.2.0 of the PyPi appdirs module, which can be found here:
http://pypi.python.org/pypi/appdirs/1.2.0
It contains pure Python code, so its installation doesn't require a C compiler.
It can be installed using:
python setup.py build
sudo python setup.py install
3.6 requests
pip install requests
3.7 pexpect
On Unix/OSX:
pip install pexpect
3.8 lxml
Used by WsgiDAV for WebDAV mounting of local home directory on remote server.
https://pypi.python.org/pypi/lxml/3.2.3
3.9 psutil
Used to check if an agent process (with a given PID) is running:
https://code.google.com/p/psutil/
Windows builds are available, e.g.
https://psutil.googlecode.com/files/psutil-1.0.1.win32-py2.7.exe
4. PYTHON MODULES REQUIRED TO BUILD THE BUNDLED DISTRIBUTABLE APPLICATION
4.1 setuptools
4.2 py2app
4.3 pyinstaller
4.1 setuptools
See section 3.2
4.2 py2app
The py2app module, used by the Launcher's create_mac_bundle.py script, can be
downloaded from here:
http://pypi.python.org/packages/source/p/py2app/py2app-0.6.4.tar.gz
It can be installed in the usual way:
python setup.py build
sudo python setup.py install
4.3 pyinstaller
Used to build stand-alone executables on Windows and Linux.
We are currently using version 2.1 for the Windows build.
Version 2.1 of pyinstaller can be downloaded from here:
http://www.pyinstaller.org/
https://pypi.python.org/packages/source/P/PyInstaller/PyInstaller-2.1.zip