Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #4434

Re: [Python-de] requirements.txt (Was: Django Portierungstrategy???)

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Thomas Güttler <guettliml@thomas-guettler.de>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] requirements.txt (Was: Django Portierungstrategy???)
Date Tue, 26 Apr 2016 13:32:06 +0200
Lines 62
Message-ID <mailman.104.1461670329.32212.python-de@python.org> (permalink)
References <9b28130b-a35f-4ae2-b13e-d2c5faf42320@googlegroups.com> <570D1549.40004@mail.de> <570D4B30.5060402@broeckling.de> <570D56E2.5000906@mail.de> <20160413123058.5edabd06@bolas.gallifrey.local> <mailman.68.1460543462.15650.python-de@python.org> <0db2f630-a4f7-4b58-9f22-8d41fc7bb521@googlegroups.com> <571DE72E.3060305@thomas-guettler.de> <571E1E10.7040208@chrisarndt.de> <571F51B6.7050801@thomas-guettler.de>
Mime-Version 1.0
Content-Type text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding 8bit
X-Trace news.uni-berlin.de oiVc8D/p5lgjxMxqakbRwAv4IZNTBGm817WgiWeitTdg==
Return-Path <guettliml@thomas-guettler.de>
X-Original-To python-de@python.org
Delivered-To python-de@mail.python.org
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0
In-Reply-To <571E1E10.7040208@chrisarndt.de>
X-BeenThere python-de@python.org
X-Mailman-Version 2.1.22
Precedence list
List-Id Die Deutsche Python Mailingliste <python-de.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-de>, <mailto:python-de-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-de/>
List-Post <mailto:python-de@python.org>
List-Help <mailto:python-de-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-de>, <mailto:python-de-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <571F51B6.7050801@thomas-guettler.de>
X-Mailman-Original-References <9b28130b-a35f-4ae2-b13e-d2c5faf42320@googlegroups.com> <570D1549.40004@mail.de> <570D4B30.5060402@broeckling.de> <570D56E2.5000906@mail.de> <20160413123058.5edabd06@bolas.gallifrey.local> <mailman.68.1460543462.15650.python-de@python.org> <0db2f630-a4f7-4b58-9f22-8d41fc7bb521@googlegroups.com> <571DE72E.3060305@thomas-guettler.de> <571E1E10.7040208@chrisarndt.de>
Xref csiph.com de.comp.lang.python:4434

Show key headers only | View raw



Am 25.04.2016 um 15:39 schrieb Christopher Arndt:
> Am 25.04.2016 um 11:45 schrieb Thomas Güttler:
>> Abhängigkeiten werden in Python so weit ich weiß über install_requires
>> in setup.py definiert.
>
> Jein. install_requires setup.py definiert "abstrakte" Abhängigkeiten.
> Feste Versionsnummern sind dort nach Möglichkeit zu vermeiden, wenn
> nötig sollte man darin höchstens Minimal- oder Maximalversionsnummern
> und direkte Abhängigkeiten festlegen.
>
> Die setup,py ist m.E. vorrangig für Python-*Pakete* gedacht. Deswegen
> sollte man davon ausgehen, dass sie in unterschiedlichen Umgebungen und
> Nutzungsszenarien ausgeführt wird (z.B. beim Paketbau für
> Distributionen; beim Entwickler, wenn er sein virtualenv für ein Projekt
> füllt; beim Testen mit tox usw.)
>
> Die requirements.txt ist auf der Projekt bzw. Applikationsebene
> angesiedelt. In ihr kann man Versionen pinnen und definiert sozusagen
> die genaue Ausführungsumgebung für die Anwendung. Es sind dort i.d.R.
> alle notwendigen Pakete, also auch die Abhängigkeiten von Abhängigkeiten
> (rekursiv) aufgeführt.
>
> Es gibt Tools, mit denen man die abstrakten Abhängigkeiten aus der
> requirements.txt (halb-)automatisch extrahieren kann. Eine naive
> Implementierung zum Einbinden in die setup.py, die für einfache Fälle
> ausreicht, habe ich zum Beispiel hier notiert:
> https://gist.github.com/SpotlightKid/486c711a3c14c70edb1a

Ich habe das früher auch gemacht. Ich bin bei einer Diskussion auf python-distuils auf
das gestoßen:

   requirements.txt and setup.py serve different purposes, requirements.txt is for an environment, setup.py is for a
   package. It doesn't make sense for a setup.py to read from a requirement.txt just like it wouldn't make sense for a
   deb package to read from a Chef cookbook.


... und es stimmt. In setup.py die req.txt einzulesen ist für mich der falsche Weg.

Für was also req.txt nehmen? Aus meiner Sicht es super um das als Ergebnis eines
CI-Laufs festzuhalten: Mit diesem Paket-Stand sind alle Tests ok. Sicherlich
gibt es vieles was damit noch nicht festgezurt ist (Python-Version, Linux, andere
Pakete die per RPM/dpkg da sein müssen und per Subprozess aufgerufen werden ...)

>
> Besser wäre m.E. aber, ein entsprechendes Skript in den Release-Prozess
> zu integrieren, das dann auch indirekte Abhängigkeiten bereinigt usw.

Stimmmt.

Was mir bisher fehlt ist der passende Begriff für das, was die req.txt beinhaltet.

Im Django-Kontext wird manchmal der Begriff "Project" verwendet. Aber so weit ich
weiß gibt es keinen Konsens in der Python-Welt.

Gruß,
   Thomas


-- 
Thomas Guettler http://www.thomas-guettler.de/

Back to de.comp.lang.python | Previous | NextPrevious in thread | Find similar


Thread

Django Portierungstrategy??? "Marcel Hug (schaf)" <schaf.mh@gmail.com> - 2016-04-12 08:08 -0700
  Re: [Python-de] Django Portierungstrategy??? "Sven R. Kunze" <srkunze@mail.de> - 2016-04-12 17:33 +0200
  Re: [Python-de] Django Portierungstrategy??? "Albrecht Mühlenschulte" <albrecht@muehlenschulte.de> - 2016-04-12 18:22 +0200
    Re: [Python-de] Django Portierungstrategy??? "Marcel Hug (schaf)" <schaf.mh@gmail.com> - 2016-04-12 22:54 -0700
  Re: [Python-de] Django Portierungstrategy??? Sven Broeckling <sven@broeckling.de> - 2016-04-12 21:23 +0200
  Re: [Python-de] Django Portierungstrategy??? "Sven R. Kunze" <srkunze@mail.de> - 2016-04-12 22:13 +0200
  Re: [Python-de] Django Portierungstrategy??? Sven Broeckling <sven@broeckling.de> - 2016-04-13 12:30 +0200
    Re: [Python-de] Django Portierungstrategy??? "Marcel Hug (schaf)" <schaf.mh@gmail.com> - 2016-04-22 07:50 -0700
      Re: [Python-de] Django Portierungstrategy??? "Sven R. Kunze" <srkunze@mail.de> - 2016-04-23 22:24 +0200
        Re: [Python-de] Django Portierungstrategy??? "Marcel Hug (schaf)" <schaf.mh@gmail.com> - 2016-04-24 22:26 -0700
          Re: [Python-de] Django Portierungstrategy??? "Sven R. Kunze" <srkunze@mail.de> - 2016-04-25 15:33 +0200
      Re: [Python-de] Django Portierungstrategy??? Thomas Güttler <guettliml@thomas-guettler.de> - 2016-04-25 11:45 +0200
        Re: [Python-de] Django Portierungstrategy??? "Marcel Hug (schaf)" <schaf.mh@gmail.com> - 2016-04-26 23:55 -0700
      [Python-de] requirements.txt (Was: Django Portierungstrategy???) Christopher Arndt <chris@chrisarndt.de> - 2016-04-25 15:39 +0200
      Re: [Python-de] requirements.txt (Was: Django Portierungstrategy???) Thomas Güttler <guettliml@thomas-guettler.de> - 2016-04-26 13:32 +0200

csiph-web