[OpenSlides users-de] Virtualenv und Paketbau

Oskar Hahn mail at oshahn.de
Do Nov 21 17:59:28 CET 2013


Hallo Zusammen,

ich möchte die Diskussion noch einmal zusammen fassen und gerne bald zu
einer Entscheidung kommen.

Es geht um die Frage, ob in der Datei 'setup.py' (1.) feste oder
(2.) tolerante Abhängigkeiten definiert werden sollen. Dies hat die
Folge, dass bei einer Installation des Python Paketes 'openslides' sich
die Software nur mit genau einer Version der Abhängigkeit oder mit
mehreren, auch ungetesteten/neueren Versionen, läuft.

Argumente für tolerante Abhängigkeiten sind, dass sich das Paket
hierdurch global installieren lässt. Dies würde sowohl Installation und
Ausführung unter Linux vereinfachen als auch den Bau von
distributionsspezifischen Paketen.

Hauptargument für feste Abhängigkeiten ist, dass pip anderenfalls immer
die neuste Version der Abhängigkeiten installiert, diese jedoch nicht
unbedingt mit OpenSlides kompatibel sein muss. Bis wir in solchen Fällen
openslides angepasst haben (zB durch sperren der Abhängigkeitsversion),
funktioniert OpenSlides nicht.

Im laufe der Diskussion wurden verschiedene Kompromissvorschläge angeboten.

3. Es werden zwei verschiedene Python Pakete durch uns angeboten, wobei
die Frage offen blieb, wie diese Pakete benannt werden sollen,
insbesondere, ob eines 'openslides' (ohne Zusatz) heißen darf.

4. Wir verwenden bei Paketen die das Konzept der Semantic Versioning
verfolgen tolerante Abhängigkeiten in Bezug auf die dritten
Versionsstelle soweit die erste Versionsstelle größer als 0 ist.

5. Wir passen unsere Installationsanleitung entsprechend an, dass für
die Installation in eine virtuelle Umgebung zunächst unsere
Abhängigkeiten in einer bestimmten Version installiert werden sollen
(zB pip install -r requirements_production.txt)

6. Wir Pflegen in einer separaten Datei die minimal lauffähigen
Versionen unserer Abhängigkeiten. So lässt sich zwar mit pip install
openslides dieses nicht global installieren, jedoch wissen informierte
Paketierer, wie sie die setup.py patchen müssen, um ein
globalinstallierbares Paket für OpenSlides zu erstellen.


Gibt es noch weitere Kompromisslösungen? Anderenfalls sollten wir uns
überlegen wie wir die Entscheidung in diesem Punkt treffen wollen.

Viele Grüße
Oskar

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openslides.org/pipermail/users-de/attachments/20131121/a3bf18af/attachment.sig>


More information about the users-de mailing list