[13:56:21] <altipard> need to look if there is an entry point defined
[13:56:33] <J1m> is this a script defined via entry points? Or via scripts in setup.py?
[13:56:50] <J1m> The latter is very fragile and likely to break.
[13:57:15] <J1m> Basically, without entry points, buildout can't generate a script, it has to hack one.
[16:15:18] <aclark> J1m: is there some element of Buildout's design that dictates the installation of eggs vs just putting modules on sys.path? IOW could Buildout have a "non-egg" mode in which packages were installed in parts/buildout/lib/python (or something like that)?
[16:16:14] <J1m> It *could* would like that, but...
[16:17:09] <J1m> if you wanted to support allowing different scripts to have different deepndency versions, then each script (or each set of scripts output with a given set of dependencies) would need their own lib/python directory.
[16:18:31] <J1m> OTOH, given that most people pin versions at the buildout level, more buildouts use the same versions for all dependencies.
[16:19:40] <J1m> From a theoretical point of view, this would be a big change IMO. The practical effect might be pretty limited though.
[16:20:44] <J1m> If I were going to do this, I'd just give up and have buildout use pip+virtualenv, since they're becoming pretty standard.
[16:21:20] <J1m> Concievably, a buildout could use multiple virtalenvs in the uncommon cases where needed.
[16:21:44] <J1m> Maybe that would be a good idea for buildout3.
[16:23:26] <aclark> J1m: Hmmm, interesting thanks. What about the original design decision to use eggs was that based on anything in particular or just "cool" at the time?
[16:24:12] <J1m> a) trying to follow setuptools b) makes it much easier to support multiple egg versions.
[16:24:26] <J1m> also, makes upgrading downgrading much simpler.
[16:26:41] <aclark> I don't hate eggs at all, just trying to understand all the tech
[16:26:59] <J1m> RPMs are a pain in part because of all the expensive gyrations trying to prevent one package from clobbering another package's files.
[16:27:21] <J1m> pip is either going to have to do the same painful thing, or it will get it wrong.
[16:28:32] <J1m> FWIW, in the java ecosystem, things work more like buildout. Sofftware is installed as jars (on which eggs were based) and applications assembled by createing class paths, usually containing lists of jar files.