Installing current Pronterface from Github on a Mac

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 your Python is the system version

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.

Get the Python version

Make a mental note of your version of Python:

python --version

Python's version should be at least 2.7.

Make sure Python's package manager (pip) works

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

Install wxPython

(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.

Install dependencies

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 the Printrun repository

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 runs in 32 bit mode

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)

Run!

Now you should be all set up to run pronterface:

python pronterface.py

Update git

To make sure your version is updated afterwards, simply run

git pull

from your Printrun directory. Simple.

Addendum: Reactions

I'll add more info if you encounter specific problems and e-mail me about them.

Gatekeeper (Thomas Sarlandie)

Gatekeeper can cause a problem "wxPython is damaged and cant be installed" which is a known problem with an easy workaround.


comments powered by Disqus