[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