<div class="gmail_quote">On Tue, Oct 25, 2011 at 6:05 AM, Andrea Crotti <span dir="ltr">&lt;<a href="mailto:andrea.crotti.0@gmail.com">andrea.crotti.0@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I have the following situation:<br>
suppose that there is a framework composed by many many eggs, which<br>
doesn&#39;t change very often.<br>
<br>
Then there are N applications using this framework, where every<br>
application is also composed by 2-3 eggs, and everything is run in a<br>
&quot;funny&quot; way (using Envisage).<br>
<br>
So at the moment every application fiddles around with the global<br>
easy_install.pth, which is bad and needs to be changed, and I have to<br>
figure out how.<br></blockquote><div><br></div><div>If you use the &quot;-m&quot; option to easy_install, the easy-install.pth won&#39;t be changed (or even created, if it doesn&#39;t exist).  Instead, the application scripts will simply add the needed eggs to their path at runtime.</div>
<div><br></div><div>This is the most flexible approach; the only downside to it is if you just start a Python interpreter, none of the eggs will be on sys.path unless you explicitly pkg_resources.require() them.  But for stable app deployment, or even app development (using &quot;setup.py develop&quot; or &quot;setup.py test&quot;) it works rather well.</div>
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">The other future problems that I still see now are:<br>
1. I have to be able to develop also the eggs from the framework<br></blockquote><div><br></div><div>Use &quot;setup.py develop -m&quot; to install a project in development mode, without altering easy-install.pth.  Any changes made in the source then take effect immediately in the target environment.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
2. I have to make everything very simple to do from and Eclipse<br></blockquote><div><br></div><div>The &quot;develop&quot; command only needs to be re-run if you change your setup.py options or your dependencies, so it&#39;s not hard to do.</div>
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
3. These applications have to be shared on SVN, so maybe zc.buildout<br>
   might be a better choice in this sense.<br><br></blockquote><div><br></div><div>To me buildout sounds like overkill - I have a whole bunch of projects I develop that are installed with &quot;setup.py develop&quot; on my development machine.  Any changes I make to the source are immediately seen by any other projects sharing the same targeted installation directory.</div>
<div> </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Thanks a lot,<br>
Andrea<br>
______________________________<u></u>_________________<br>
Distutils-SIG maillist  -  <a href="mailto:Distutils-SIG@python.org" target="_blank">Distutils-SIG@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/distutils-sig" target="_blank">http://mail.python.org/<u></u>mailman/listinfo/distutils-sig</a><br>
</blockquote></div><br>