<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Switching to pip for Python deployments</title>
	<atom:link href="http://blog.mozilla.org/webdev/2013/01/11/switching-to-pip-for-python-deployments/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mozilla.org/webdev/2013/01/11/switching-to-pip-for-python-deployments/</link>
	<description>Engineering the web</description>
	<lastBuildDate>Fri, 17 May 2013 21:43:21 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: Luper Rouch</title>
		<link>http://blog.mozilla.org/webdev/2013/01/11/switching-to-pip-for-python-deployments/comment-page-1/#comment-227692</link>
		<dc:creator>Luper Rouch</dc:creator>
		<pubDate>Wed, 23 Jan 2013 21:04:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.org/webdev/?p=3163#comment-227692</guid>
		<description><![CDATA[I made a script to ease the creation of &#039;frozen&#039; requirements files: https://github.com/Stupeflix/freeze-requirements]]></description>
		<content:encoded><![CDATA[<p>I made a script to ease the creation of &#8216;frozen&#8217; requirements files: <a href="https://github.com/Stupeflix/freeze-requirements" rel="nofollow">https://github.com/Stupeflix/freeze-requirements</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anders Pearson</title>
		<link>http://blog.mozilla.org/webdev/2013/01/11/switching-to-pip-for-python-deployments/comment-page-1/#comment-227613</link>
		<dc:creator>Anders Pearson</dc:creator>
		<pubDate>Mon, 21 Jan 2013 03:17:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.org/webdev/?p=3163#comment-227613</guid>
		<description><![CDATA[This is pretty much the approach that I&#039;ve been employing and advocating for the last few years. (see this post: http://ccnmtl.columbia.edu/compiled/sysadmin/deploying_django_and_deploying.html)

I go one step further and actually check in the packages for the dependencies (as tarballs) in the same repo as my project and use (essentially) &quot;pip -E ve --index-url=&#039;&#039; --requirement requirements.txt&quot; to force it to install *only* from those packages and never try to contact any remote server during the deploy.

That bloats the repos a little bit (30-40mb for a typical Django app), which I&#039;m OK with, but has the advantage that deploys have no dependencies on external servers and I can bootstrap a project on my laptop without an internet connection, which has proved invaluable many times.

So congrats on getting away from dreaded recursive submodules.]]></description>
		<content:encoded><![CDATA[<p>This is pretty much the approach that I&#8217;ve been employing and advocating for the last few years. (see this post: <a href="http://ccnmtl.columbia.edu/compiled/sysadmin/deploying_django_and_deploying.html" rel="nofollow">http://ccnmtl.columbia.edu/compiled/sysadmin/deploying_django_and_deploying.html</a>)</p>
<p>I go one step further and actually check in the packages for the dependencies (as tarballs) in the same repo as my project and use (essentially) &#8220;pip -E ve &#8211;index-url=&#8221; &#8211;requirement requirements.txt&#8221; to force it to install *only* from those packages and never try to contact any remote server during the deploy.</p>
<p>That bloats the repos a little bit (30-40mb for a typical Django app), which I&#8217;m OK with, but has the advantage that deploys have no dependencies on external servers and I can bootstrap a project on my laptop without an internet connection, which has proved invaluable many times.</p>
<p>So congrats on getting away from dreaded recursive submodules.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
