views:

113

answers:

1

I would like to use the entry point functionality in setuptools.

There are a number of occasions where I would like to tightly control the list of eggs that are run, and thence the extensions that contribute to a set of entry points:

  • egg integration testing, where I want to run multiple test suites on different combinations of eggs.
  • scanning a single directory of eggs/plugins so as to run two different instances of the same program, but with different eggs.
  • development time, where I am developing one or more egg, and would like to run the program as part of the normal edit-run cycle.

I have looked through the setuptools documentation, and while it doesn't say that this is not possible, I must have missed something saying how to do it.

What is the best way to approach deploying plugins differently to the default system-wide discovery?

A: 

We're solving something similar, ability to use setup.py develop if You're mere user without access to global site-packages. So far, we solved it with virtualenv.

I'd say it will help for your case too: have minimal system-wide install (or explicitly exclude it), create virtual environment with eggs you want and test there.

(Or, for integration tests, create clean environment, install egg and test all dependencies are installed).

For 2, I'm not sure, but it should work too, with multiple virtualenvs. For 3, setup.py develop is the way to go.

Almad