[Distutils] Sandbox violation help

Phillip J. Eby pje at telecommunity.com
Thu Dec 6 22:17:38 CET 2007

At 02:15 PM 12/6/2007 -0600, Dave Peterson wrote:
>PPS: I do believe other users have reported the same issues on other
>systems but we've never quite figured out what the cause is.  IIRC,
>telling them to manually download the source tarball and do a 'python
>setup.py install' seems to work just fine.
> > Processing enthought.traits-2.0.1b1.tar.gz
> > Running enthought.traits-2.0.1b1/setup.py -q bdist_egg --dist-dir
> > /tmp/easy_install-Edu8TK/enthought.traits-2.0.1b1/egg-dist-tmp-IIITHW
> > error: Setup script exited with error: SandboxViolation:
> > open('/tmp/easy_install-WZrKOz/enthought.tvtk-2.0.0b2/temp/tmpTTJH2x/zZe82A
> > ', 131266, 384) {}

This looks like a bug that was fixed about a year ago: the sandboxing 
for os.open() (which is what the above appears to be calling) 
wouldn't allow you to write files *anywhere*, even if it was under a 
safe directory location.

That would explain why you don't get the problem, but the user 
does.  Check their setuptools version, using:

     python -c "from pkg_resources import require; print require('setuptools')"

The bug was fixed in 0.6c5, so anything older will have this problem 
with anything that uses os.open() to write files.

More information about the Distutils-SIG mailing list