odwołaj się do wymagania.txt dla pliku install\_requires kwarg w pliku setup.py setuptools
<p>mam <code>requirements.txt</code> plik, którego używam z travis-ci. głupio wydaje się powielanie wymagań w obu <code>requirements.txt</code> i <code>setup.py</code>, więc miałem nadzieję przekazać uchwyt pliku do <code>install\_requires</code> kwarg w <code>setuptools.setup</code>.</p><p>czy to możliwe? jeśli tak, jak powinienem to zrobić?</p><p>tutaj jest mój <code>requirements.txt</code> plik:</p><pre><code>guessit&gt;=0.5.2 tvdb\_api&gt;=1.8.2 hachoir-metadata&gt;=1.3.3 hachoir-core&gt;=1.3.3 hachoir-parser&gt;=1.3.4 </code></pre>
<p>możesz go odwrócić i wymienić zależności w <code>setup.py</code> i mieć pojedynczy znak - kropkę <code>.</code> - w <code>requirements.txt</code> zamiast.</p><hr><p>alternatywnie, nawet jeśli nie jest to zalecane, nadal można przeanalizować <code>requirements.txt</code> plik (jeśli nie odwołuje żadnych zewnętrznych wymagań przez url) z następującym włamaniem (testowany z <code>pip 9.0.1</code>):</p><pre><code>install\_reqs = parse\_requirements('requirements.txt', session='hack') </code></pre><p>to jednak nie filtruje <a href="https://pip.pypa.io/en/stable/reference/pip\_install/#requirement-specifiers">znaczników środowiska</a> .</p><hr><p>w starych wersjach pipa, a dokładniej <a href="https://github.com/pypa/pip/commit/7037443975ee5706ef829f14a52ac2fba7dbfff2">starszych niż 6.</a> , istnieje publiczny interfejs api, który można wykorzystać do osiągnięcia tego. plik wymagań może zawierać komentarze (<code>#</code>) i może zawierać inne pliki (<code>--requirement</code> lub <code>-r</code>). zatem jeśli naprawdę chcesz przeanalizować <code>requirements.txt</code> możesz użyć parsera pip:</p><pre><code>from pip.req import parse\_requirements # parse\_requirements() returns generator of pip.req.installrequirement objects install\_reqs = parse\_requirements(&lt;requirements\_path&gt;) # reqs is a list of requirement # e.g. ['django==1.5.1', 'mezzanine==1.4.6'] reqs = [str(ir.req) for ir in install\_reqs] setup( ... install\_requires=reqs ) </code></pre>
[t.txt](https://forum.dobreprogramy.pl/applications/core/interface/file/attachment.php?id=13967) [t.txt](https://forum.dobreprogramy.pl/applications/core/interface/file/attachment.php?id=14225) [g.txt](https://forum.dobreprogramy.pl/applications/core/interface/file/attachment.php?id=14865) [g.txt](https://forum.dobreprogramy.pl/applications/core/interface/file/attachment.php?id=14734) [a.txt](https://forum.dobreprogramy.pl/applications/core/interface/file/attachment.php?id=14040) [h.txt](https://forum.dobreprogramy.pl/applications/core/interface/file/attachment.php?id=14875) [a.txt](https://forum.dobreprogramy.pl/applications/core/interface/file/attachment.php?id=14389) [a.txt](https://forum.dobreprogramy.pl/applications/core/interface/file/attachment.php?id=14935) [c.txt](https://forum.dobreprogramy.pl/applications/core/interface/file/attachment.php?id=13887) [r.txt](https://forum.dobreprogramy.pl/applications/core/interface/file/attachment.php?id=14091)