On Wed, Apr 8, 2009 at 12:14 PM, Philip Jenvey <[email protected]> wrote: > > > On Apr 8, 2009, at 4:50 AM, Noah Gift wrote: > >> >> I get frustrated every time I setup a new virtualENV as I forgot that >> something always breaks. I just got this today: >> >> http://pylonshq.com/pasties/d8768f105749c5c169094812c4e0f01a > > I suspect you might have actually forgotten --no-site-packages. If you > did indeed set it there would be a /Users/ngift/src/pylonsENV/lib/ > python2.5/no-global-site-packages.txt > > Otherwise I don't know why Tempita wouldn't have been installed. Is it > reproducible? > > Regardless of what the problem is, in the future it would be nice if > we provided an 'all in one' install archive. Like a pip bundle (but > then we have to require pip), or I think zc.sourcerelease can produce > something similar. EggFreezer also does something along these lines > but was more of a binary distribution installer. > > Something that bootstraps itself and installs everything without > having to go through pypi, like a fully self contained go-pylons.py
This is going to be a necessity over the long term. The installation system has several points of failure, and different users get trapped by different ones. On some Windows machines virtualenv won't install. On others simplejson won't compile. On other machines (all platforms) people get ImportError because the path wasn't set for Pylons or for the application. Sometimes the user just forgot to "install" the application; other times it's something else. People run "go-pylons.py" and it fails for any number of reasons. I set up several coworkers with Pylons, and all of them got different errors initially. Sometimes it's a FAQ error I recognize, sometimes it's a unique situation that takes some troubleshooting, but in all cases it's enough to stop newbies cold because they have no idea what's happening or how to fix it. The answer is not to blame users for being stupid. It's to make the procedure as simple and foolproof as possible. So 20 users surveyed didn't have any problems. They don't have the same computers as the ones who did have problems. That's why Pylons minimizes C dependencies. But many of the problems are not directly Pylons' fault. The core problem is that Python does not have a built-in system for downloading and installing packages. So: (1) you have to bootstrap virtualenv/setuptools, (2) some package may require a newer version of setuptools than the one installed, (3) the path can be set wrong for any number of reasons, (4) PyPI may be down, (5) simplejson installation may abort, (6) Tempita or some package may not automatically install for some reason, etc. Those are just the things I've personally observed over the past year. What makes Pylons more complex and fragile is its dependency on third-party packages, which may upgrade or change their dependencies at any time. Plone and Django work around this problem by distributing a preconfigured tarball. This needs to be explored for Pylons. One problem is that people use virtualenvs, and those are tied to specific computers. So the tarball would have to be installed inside the virtualenv, unless somebody figures out how to make a generic virtualenv. Currently I'm extracting appengine-homedir out of appengine-monkey, and this environment would also benefit from a portable Pylons tarball. So I may have one in a couple of weeks if I have time to put it together. -- Mike Orr <[email protected]> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~----------~----~----~----~------~----~------~--~---
