Development infrastructure - need python packaging gurus help, please

Eugene Sajine euguess at gmail.com
Tue Jan 28 20:39:17 EST 2014


Hi!

I'm trying to create a development infrastructure that would allow for simple and unified ways of sharing, *deploying* and *reusing* the code within private entity. I can see that pip with virtual environments and requirements.txt is very similar to dependency management provided by maven or apache ivy. But there seems to be a disconnect between the egg carrying the possibility to be importable and executable, but in the same time considered to be deprecated format which is not fully supported by pip and virtualenv and wheel not having those basic questions answered...

Here is what i'm trying to achieve:
1. I want to be able to specify the set of dependencies for the project i'm currently developing and make them available for the import. Think java jar - having it in class path allows for the code reuse (import packages provided) as well as for the execution.
2. I want to be able to put the newly created project in a form of artifact in a some central location from which it can be taken to be imported or executed or included into "class path". Again think java jar. If i have it in some location i can use ivy or maven to manage the dependencies and provide it to me upon request
3. I want to be able to deploy the program and execute it.

So the problem with all this as i see it:
The importable and executable format is egg, but it is deprecated!
Sane dependency management is pip and virtualenv, but they don't support eggs fully (pip install --egg is having the disclaimer that it s not working ok sometimes) wheel is pretty much unusable for anything other then installing into the virtualenv.

Am i missing something?

Thanks in advance,
Eugene



More information about the Python-list mailing list