<div dir="ltr"><div>I have not seen the benefit of using (or being forced to use) setup.py for this or many projects: as you said, requirements.txt contains the freeze of the deployment configuration, which as a deployed application not a library is all that is needed?<br></div><div><br>If tox supports &quot;merging&quot; dependencies from setup.py &amp; depends, and tox has added support for requirements.txt, then it would make sense for them to be some way to use both ways?<br><br></div><div>I simply want to use tox to be able to easily test the project against multiple versions of dependencies, and avoid having to keep multiple places up to date, or having to create n number of files where n is the number of dependencies that can change :)<br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><br>Best regards,<br>Antony</div></div>
<br><div class="gmail_quote">On 16 June 2015 at 14:04, Robert Collins <span dir="ltr">&lt;<a href="mailto:robertc@robertcollins.net" target="_blank">robertc@robertcollins.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 16 June 2015 at 23:19, Antony Seedhouse &lt;<a href="mailto:antony.seedhouse@gmail.com">antony.seedhouse@gmail.com</a>&gt; wrote:<br>
&gt; Is there a way to &quot;merge&quot; tox deps with requirements.txt, without having to<br>
&gt; split requirements.txt into multiple files (one per dep specified in<br>
&gt; tox.ini) or other more complicated methods?<br>
&gt;<br>
&gt; For example, I have a project with all current dependencies in<br>
&gt; requirements.txt, and would like to test it with multiple versions of django<br>
<br>
</span>Why do you have your dependencies in requirements.txt?<br>
requirements.txt should be a freeze of the exact deployment<br>
configuration....<br>
<span class=""><br>
&gt; I would like my deps = to look like:<br>
&gt;<br>
&gt; deps =<br>
&gt;   -r../requirements.txt<br>
&gt;   django17: Django&gt;=1.7,&lt;1.8<br>
&gt;   django18: Django&gt;=1.8,&lt;1.9<br>
&gt;<br>
&gt; This would tell tox to overwrite the Django version in requirements.txt with<br>
&gt; the environment specified version<br>
&gt;<br>
&gt; Currently this errors: Double requirement given: Django==1.7.7 (from -r<br>
&gt; ../requirements.txt (line 3)) (already in Django&lt;1.8,&gt;=1.7, name=&#39;Django&#39;)<br>
<br>
</span>Yes, this is expected. I would have your dependencies be in your<br>
setup.py, and use the tox syntax to select specific versions for<br>
testing as you are trying to here.<br>
<br>
-Rob<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
Robert Collins &lt;<a href="mailto:rbtcollins@hp.com">rbtcollins@hp.com</a>&gt;<br>
Distinguished Technologist<br>
HP Converged Cloud<br>
</font></span></blockquote></div><br></div>