[Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip) (original) (raw)
kiorky kiorky at cryptelium.net
Fri Oct 9 10:54:23 CEST 2009
- Previous message: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)
- Next message: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Ian Bicking a écrit :
I'm coming in late and breaking threading, but wanted to reply to Tarek's original email:
This is verifiable, stable, and to varying degrees concrete (virtualenv being more concrete than buildout, which tends more towards the declarative).
Is that a friday troll ? declarative over control ?
What virtualenv does could certainly be in the Python interpreter (and much more compact as a result, I am sure). PYTHONHOME does it to a degree, though binding a script to a environment through the interpreter listed in #! is more stable than the implicit environment of PYTHONHOME. workingenv used an environmental variable (PYTHONPATH, before PYTHONHOME existed) and it caused problems. Also virtualenv offers more system isolation. If I had my way, buildout would use virtualenv and throw away its funny script generation. If virtualenv had existed before buildout
Which one, the one provided to generate scripts from entry points with the *.egg recipes or the bin/buildout auto regeneration?
began development, probably things would have gone this way. I think it would make the environment more pleasant for buildout users. Also
- I don't think so, buildout is the only tool atm that permit to have really reproducible and isolated environments. Even, if you use the pip freezing machinery, it is not equivalent to buildout, Control!
- Buildout can have single part to construct required eggs, at a specific version and let you control that. Pip will just search for this version, see that it's not available and fail. You have even recipes (like minitage.recipe.egg that permit to construct eggs with special version when you apply patches onto, thus, you can have the same egg in different flavors in the same eggs cache available for different projects. Those projects will just have to pin the right version to use, Control!.
- Another thing is the "funny script generation", you have not one global site-packages for your project, but one global cache. But from this global cache, your scripts will only have available the eggs you declared, see Control!
- Moreover buildout is not only a python packages manager, it's some of its recipes that permit to use it as. Buildout is just a great deployment tool that allow to script and manage your project in a "funny" and "flexible" way, Control!
I wish it used pip instead of its own installation procedure (based on easyinstall). I don't think the philosophical differences are that great, and that it's more a matter of history -- because the code is
And retro-compatibility.
written, there's not much incentive for buildout to remove that code and rely on other libraries (virtualenv and pip).
- Virtualenv is not really needed as buildout uses "eggs caches" and do the isolation from there. Scripts generate the adequate sys.path relying on the application requirements (which, once more, you are in total control). I prefer throught to use a virtualenv for each project (or a bunch of projects), and to bootstrap my buildouts from there. For me, they are complementary to achieve your deployment and isolation needs.
-- Ian Bicking | http://blog.ianbicking.org | http://topplabs.org/civichacker
Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/kiorky%40cryptelium.net
--
Cordialement, KiOrKY GPG Key FingerPrint: 0x1A1194B7681112AF
-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 261 bytes Desc: OpenPGP digital signature URL: <http://mail.python.org/pipermail/python-dev/attachments/20091009/4d1df0b4/attachment.pgp>
- Previous message: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)
- Next message: [Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]