Here's a little guide how to run pronterface's latest github version on a Mac, by making sure you have the correct python and python packages installed.This guide not only installs pronterface but also all the other tools in the printrun suite (e.g., the text based pronsole
console version).
Other options are to download pronterface as a pre-built application (via http://koti.kapsi.fi/~kliment/printrun/) but this version is seriously outdated (currently over a year old). Also, the documentation to install Printrun on a Mac is very meager and did not work for my box, so this guide may also provide you with some helpful hints.
(Disclaimer: I'm not familiar with Python, this is the result of my attempts to get Pronterface running)
Make sure that Python is the system version that comes with OSX. You can check this by running
which python
Python should be installed in /usr/bin
(not /usr/local/bin
or other directories).
Make sure that your python is the correct (default) one. For the rest of this guide, make sure you run the correct installed-by-apple-an-thus-default python, maybe by adding the correct path (also when using pip
later on). You may, e.g., uninstall homebrew Pythons with brew uninstall python
.
Make a mental note of your version of Python:
python --version
Python's version should be at least 2.7.
See if pip is installed with which pip
(this may be installed in /usr/local/bin
, that is OK for once).
If it is not installed, you can easily install it with Python's easy_install
. Again, use
which easy_install
to check whether easy_install
runs from /usr/bin
(not /usr/local/bin
, this may have been a version from homebrew) and run sudo easy_install pip
to install pip.
If pip is installed, here's how to make sure it's up2date:
sudo pip install pip --upgrade
(One could install wxPython via pip but this gives you a deprecated version and does not result in a working pronterface on a Mac!)
Download the Mac OSX binaries for wxPython (a GUI library) from http://wxpython.org/download.php#stable.
Make sure to download the correct version for your version of Python. I have Python 2.7, so I installed wxPython2.8-osx-unicode-2.8.12.1-universal-py2.7.dmg, which is the 2.7 version as it contains the py2.7 string, not to be confused with the "2.8" in "wxPython2.8" which is wxPython's version!
Once you opened the DMG, install the contained package.
Pronterface uses a few Python packages, which you can install with pip as follows:
sudo pip install pyserial pyglet --upgrade
pyserial
is a library to access serial communications (e.g., the communication of your computer with the printer over USB) and pyglet
is a GUI library.
Please note that wxPython is also available as a pip package named wx
but that does not work (version 1.0.0 is installed via pip instead of 2.8 ...), so install wxPython as discussed above.
Clone Printrun (of which pronterface is just one part) from github:
git clone https://github.com/kliment/Printrun.git
and go into the directory ...
cd Printrun
Make sure that Python knows it should run in 32 bit mode:
export VERSIONER_PYTHON_PREFER_32_BIT=yes
This is a crucial step, pronterface will not run in 64 bit mode. You will have to set this everytime you run pronterface, or you can add it to your .profile
.
If you don't do this, you'll get an error like the following:
WX is not installed. This program requires WX to run. Traceback (most recent call last): File "pronterface.py", line 24, in <module> import wx File "/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/__init__.py", line 45, in <module> from wx._core import * File "/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_core.py", line 4, in <module> import _core_ ImportError: /usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_core_.so: no appropriate 64-bit architecture (see "man python" for running in 32-bit mode)
Now you should be all set up to run pronterface:
python pronterface.py
To make sure your version is updated afterwards, simply run
git pull
from your Printrun
directory. Simple.
I'll add more info if you encounter specific problems and e-mail me about them.
Gatekeeper can cause a problem "wxPython is damaged and cant be installed" which is a known problem with an easy workaround.