CellProfiler / BatchProfiler

1 stars 1 forks source link

Use virtual environment post-centrosome #14

Closed LeeKamentsky closed 8 years ago

LeeKamentsky commented 8 years ago

If CellProfiler's requirements.txt file names a version of centrosome, then we should use a virtual environment to pick the version (and in the future, this strategy will make it easier to install CellProfiler when its setup becomes standardized). Do the following:

. <path-to>/cpenv.sh
virtualenv --system-site-packages <target-dir>
. <target-dir>/bin/activate
pip install pytest
pip install --no-deps https://github.com/CellProfiler/centrosome/archive/<version>.tar.gz

and then when running CellProfiler, source the virtual environment when running it. I'm not sure why you need to explicitly pip install pytest - setup fails for me with the stack trace below if I don't.

Traceback (most recent call last):
  File "<string>", line 20, in <module>
  File "/tmp/pip-r3_TYw-build/setup.py", line 111, in <module>
    version="1.0.2",
  File "/imaging/analysis/CPCluster/CellProfiler-2.0/builds/redhat_6/lib/python2.7/distutils/core.py", line 112, in setup
    _setup_distribution = dist = klass(attrs)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/dist.py", line 268, in __init__
    self.fetch_build_eggs(attrs['setup_requires'])
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/dist.py", line 313, in fetch_build_eggs
    replace_conflicting=True,
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/pkg_resources/__init__.py", line 830, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1075, in best_match
    return self.obtain(req, installer)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1087, in obtain
    return installer(requirement)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/dist.py", line 380, in fetch_build_egg
    return cmd.easy_install(req)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 629, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 659, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 842, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1070, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1056, in run_setup
    run_setup(setup_script, args)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 240, in run_setup
    raise
  File "/imaging/analysis/CPCluster/CellProfiler-2.0/builds/redhat_6/lib/python2.7/contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 193, in setup_context
    yield
  File "/imaging/analysis/CPCluster/CellProfiler-2.0/builds/redhat_6/lib/python2.7/contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 152, in save_modules
    yield saved
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 126, in __exit__
    self._saved = UnpickleableException.dump(type, exc)
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
  File "/imaging/cold/People/Lee/venv/cpvenvtest/lib/python2.7/site-packages/setuptools/sandbox.py", line 110, in dump
    return cls.dump(cls, cls(repr(exc)))
MemoryError

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-r3_TYw-build