fearmint
fearmint

Reputation: 5334

Enthought mlab non-framework build of python does not have access to screen

Using Enthought Canopy v1.4 on Mac (Mavericks) I have Canopy setup as my default Python environment.

Whenever I try to call mlab.show() or mlab.savefig() it fails with:

This program needs access to the screen.
Please run with a Framework build of python, and only when you are
logged in on the main display of your Mac.

Python is loaded from ~/Library/Enthought/Canopy_64Bit/System/Python which is a symlink to Applications/Canopy/appdata/canopy-1.4.0.1938.macosx-x86_64/Canopy/Contents/Python

Is there any way I can keep using Canopy (for its easy install of Mayavi/mlab) and use a Framework build of python for Terminal use?

Upvotes: 0

Views: 574

Answers (1)

Jonathan March
Jonathan March

Reputation: 5810

Known bug, fixed in next week's Canopy 1.4.1. Workaround here: https://support.enthought.com/entries/22601196-wxPython-2-8-and-2-9

EDIT: I was responding quickly to the error message you reported, but some more points on a more careful read:

1) if you are loading Canopy_64Bit/System/Python then that is a mistake, not what the cited article points to (should be Canopy_64Bit/User/bin/python). (sys.prefix should point to User).

2) No need to make Canopy be your default Python in Terminal. Just unset that in Canopy Preferences, run Canopy User Python from the Canopy GUI, and if you ever do want to run Canopy User Python in Terminal, just use Canopy's Tools / Canopy Terminal command (new in Canopy 1.4).

Upvotes: 1

Related Questions