As someone who has to deal with a radically different deployment
strategy at work (RPMs) this would be awesome!

Also, as much as I don't like zc.buildout, this would help the people
who prefer that strategy, boosting the number of people who would be
using Pinax.

This is all good stuff.

Danny

On Thu, Feb 4, 2010 at 3:08 PM, Brian Rosner <[email protected]> wrote:
> Hey all —
>
> I've been doing a little bit of thinking lately about how Pinax handles 
> requirements. I think what we have today is fairly decent. However, in 
> practice I am finding some issues that I'd like to see us address. These 
> thoughts have not only come from my work with Pinax as a user, but use cases 
> I've seen others run into.
>
> Thoughts:
>
> * pinax-boot.py should not directly install Django let the requirements file 
> handle it.
>
> * pinax-admin should no longer require Django to run (to support the above).
>
> * pinax-admin --release (default) will continue to install all dependencies 
> by default with a new option to not install them. Of course the new option 
> will require an Internet connection at some point.
>
> * project-level requirements.txt should be moved to new file (don't have a 
> name yet) leaving an empty file that simply uses --requirement=unnamedfile 
> and adds some comments about the usage of the file (this is used for 
> additional project-level requirements).
>
> * pinax-admin clone_project is replaced by a new command called pinax-admin 
> setup_project. This new command will perform clone_project behavior + install 
> the requirements.txt file of the project. clone_project behavior can continue 
> to be emulated with setup_project --no-deps (not thrilled with this, but see 
> scenarios below).
>
> The goal I am trying to accomplish here is that we enable external projects 
> as more of a first class citizen, but also make pinax-boot.py an optional 
> part of installation. Keep in mind that pinax-boot.py does solve a very real 
> use case and it should still remain a part of Pinax (even as the default 
> installation method). The use case being providing a full environment 
> bootstrap. Here are the possible ways to install Pinax with my proposal 
> implemented:
>
> SCENARIOS
>
> pinax-boot.py pinax-env
> source pinax-env/bin/activate
> pinax-admin setup_project --no-deps basic_project
> python manage.py syncdb
>
> pinax-boot.py --no-deps pinax-env
> source pinax-env/bin/activate
> pinax-admin setup_project basic_project
> python manage.py syncdb
>
> virtualenv pinax-env
> source pinax-env/bin/activate
> pip install Pinax
> pinax-admin setup_project basic_project
> python manage.py syncdb
>
> virtualenv pinax-env
> source pinax-env/bin/activate
> pip install Pinax
> pinax-admin setup_project --no-deps basic_project
> ... tweak requirements to your liking ...
> pip install -r requirements.txt
> python manage.py syncdb
>
> As I've previous said I am not particularly sold on using --no-deps in the 
> default case (first scenario). Suggestions are welcome. When it comes to 
> --development mode I think the above will still apply (only pinax-boot 
> scenarios), but we will have specific directions for contributors as we do 
> now.
>
> With my changes in place I think Pinax becomes more natural to use for those 
> who already deal with installation of pip and virtualenv outside of Pinax 
> without sacrificing the use case that pinax-boot.py solves for us too. I also 
> wonder if this might help with buildout users? Jannis and myself have 
> discussed pip bundles as being something Pinax installation process can use. 
> However, I can't ever see them being used in the default case, but rather as 
> supplement material. We could distribute them as a way to install only 
> project requirements without an Internet connection, but would obviously 
> assume the user has pip already installed.
>
> At this point I am in the thoughts gather phase. If we come to some consensus 
> I'd like to see about starting on some of this pre-PyCon, but not entirely 
> sure if that will happen.
>
> Jannis: since this work falls in your one of your categories of work on Pinax 
> I wouldn't mind working with you in accomplishing any of this based upon your 
> thoughts.
>
> Brian Rosner
> http://oebfare.com
> http://twitter.com/brosner
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Pinax Core Development" 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/pinax-core-dev?hl=en.
>
>



-- 
'Knowledge is Power'
Daniel Greenfeld
http://pydanny.blogspot.com
http://dannygreenfeld.blogspot.com

-- 
You received this message because you are subscribed to the Google Groups 
"Pinax Core Development" 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/pinax-core-dev?hl=en.

Reply via email to