Skip to content

SandboxViolation with `easy_install` #589

rassie opened this Issue Sep 4, 2012 · 4 comments

2 participants

rassie commented Sep 4, 2012

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
Best match: sentry 4.10.0
Processing sentry-4.10.0.tar.gz
Writing /tmp/easy_install-yeQ2Ac/sentry-4.10.0/setup.cfg
Running sentry-4.10.0/ -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-$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.
Sentry member
dcramer commented Sep 4, 2012

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

rassie commented Sep 5, 2012

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 commented Sep 5, 2012

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 commented Sep 5, 2012

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

@dcramer dcramer closed this Aug 20, 2013
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.