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
-~----------~----~----~----~------~----~------~--~---

Reply via email to