<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><span style="color: rgb(160, 160, 168);">On November 20, 2013 at 10:46:50 AM, sheila miguez (</span><a href="mailto://shekay@pobox.com">shekay@pobox.com</a><span style="color: rgb(160, 160, 168);">) wrote:</span></div> <div><blockquote type="cite" class="clean_bq" style="font-family: helvetica; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span><div><div><div dir="ltr"><div><div>Okay, let's say I have a site in production that is somewhat organized according to this excellent blog post, <<a href="http://michal.karzynski.pl/blog/2013/06/09/django-nginx-gunicorn-virtualenv-supervisor/">http://michal.karzynski.pl/blog/2013/06/09/django-nginx-gunicorn-virtualenv-supervisor/</a>>.<br><br></div></div><div>For every new release, I could write something that fetches a tarball from github for the release, makes a new virtualenv specific to that release, and untars the repo following the convention in that blog post. I would keep some number of old virtualenvs around for a while. That's my newbie idea, and I'd like to know what best practices are for this kind of stuff.</div></div></div></div></span></blockquote></div><p>This is starting to be a good practice. It’s more important as your virtualenv grows. Check out the python buildpack from Heroku <a href="https://github.com/heroku/heroku-buildpack-python">https://github.com/heroku/heroku-buildpack-python</a></p><div><div><blockquote type="cite" class="clean_bq" style="font-family: helvetica; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span><div><div><div dir="ltr"><div><br class="Apple-interchange-newline"><br></div><div>More newbie questions:<br><br></div><div><div><div><div><div>worse practices<br></div><div>* how bad is it that I pip install things that require compiling on my production box (psycopg2 for example)?</div></div></div></div></div></div></div></div></span></blockquote></div><p>Not bad, everyone does it.</p><div><div><blockquote type="cite" class="clean_bq" style="font-family: helvetica; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span><div><div><div dir="ltr"><div><div><div><div><br class="Apple-interchange-newline">* how bad is it to install git on my production box?</div></div></div></div></div></div></div></span></blockquote></div><p>Unless you have a large infrastructure, most of the time your deploy script will run on the box and fetch using git.</p><div><div><blockquote type="cite" class="clean_bq" style="font-family: helvetica; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span><div><div><div dir="ltr"><div><div><div><div><br><br>Eventually I think I'll set up my own pypi. I think I could also try and figure out how to make packages for things like psycopg2 so I don't need to compile them. (assuming there is some reason I wouldn't want to use a distro's package? is there?)</div></div></div></div></div></div></div></span></blockquote></div><p>Python Wheel packages can do this, but they are reasonably new and I’ve never used them for anything serious.</p><div><blockquote type="cite" class="clean_bq" style="font-family: helvetica; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><span><div><div><div dir="ltr"><div><div><div><div><br><br><br>--<br>sheila</div></div></div></div></div>_______________________________________________<span class="Apple-converted-space"> </span><br>Chicago mailing list<span class="Apple-converted-space"> </span><br>Chicago@python.org<span class="Apple-converted-space"> </span><br>https://mail.python.org/mailman/listinfo/chicago<span class="Apple-converted-space"> </span><br></div></div></span></blockquote></div></div></div></div></body></html>