Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

SandboxViolation with `easy_install` #589

Closed
rassie opened this Issue · 4 comments

2 participants

@rassie

Trying to install Sentry via easy_install yields a SandboxViolation (as seen below, I'm trying to create .eggs, so pip is not an alternative). billard itself installs fine.

$ PYTHONPATH=$PYTHONPATH:. easy_install --zip-ok --exclude-scripts -d . sentry
Searching for sentry
Reading http://pypi.python.org/simple/sentry/
Reading http://www.getsentry.com/
Reading http://github.com/dcramer/sentry
Best match: sentry 4.10.0
Downloading http://pypi.python.org/packages/sentry/download/3593/sentry-4.10.0.tar.gz#md5=af576b2f8b67e31f7b1cc4c704c86e03
Processing sentry-4.10.0.tar.gz
Writing /tmp/easy_install-yeQ2Ac/sentry-4.10.0/setup.cfg
Running sentry-4.10.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-yeQ2Ac/sentry-4.10.0/egg-dist-tmp-QPeZoe
error: SandboxViolation: chmod('/home/rassie/.python-eggs/billiard-2.7.3.12-py2.6-linux-x86_64.egg-tmp/tmpiNS_S2.$extract', 493) {}

The package setup script has attempted to modify files on your system
that are not within the EasyInstall build area, and has been aborted.

This package cannot be safely installed by EasyInstall, and may not
support alternate installation locations even if you run its setup
script by hand.  Please inform the package's author and the EasyInstall
maintainers to find out if a fix or workaround is available.
@dcramer
Owner

Not sure there's much I can do about this to be honest. What were the reasons you wanted eggs?

@rassie

Mainly deployment speed. After I've read this, I've changed our deplyoment:

  1. Generate .eggs for every dependency
  2. Put them into an "eggbasket", i.e. on a HTTP server
  3. Use easy_install to generate a virtualenv from scratch.

Since the first step only needs to run once a dependency has changed, the third step is vastly faster than with pip install -r requirements.txt. In our case, with many dependencies and especially with compiled dependencies, a virtual environment is now created in matter of seconds instead of minutes.

I'm going to check up on easy_install, maybe I can find a simple solution.

@rassie

Judging from other people having this problem with other package, the problem lies within an import statement (finely explained here), so we are talking about this line. Not sure what you can or would do about it.

@rassie

AnyJSON seems to have the same problem, very similar lines can be found in their setup.py.

@dcramer dcramer closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.