[OpenSlides users-de] Virtualenv und Paketbau

Norman Jäckel mail at normanjaeckel.de
Di Nov 19 16:51:32 CET 2013


Hallo allerseits,

für mich fragt sich zunächst, welche Non-Windows-Benutzer OpenSlides wie
einsetzen. Vielleicht könnt ihr da eure Erfahrungen hier berichten.

Ich selbst würde es überall immer mit Virtualenv und Pip machen (soweit
ich nicht zufälligerweise ohnehin schon die Entwicklungsversion dabei
habe und mit Git spielen kann).

Ich kann mir nur schwer vorstellen, dass jemand, der verschiedenes
Pythonzeug laufen lässt, mit Pip global installiert. (Aber vielleicht
gibt es ja solche Leute.) Viel eher würde man auf ein Paket aus der
Softwareverwaltung der jeweiligen Distribution zurückgreifen, z. B. für
Ubuntu ein deb-Paket. Dies sollten wir aber vom OpenSlides-Kern trennen.

Die Frage scheint sich also nur noch darum zu drehen, wie das auf PyPI
verfügbare Python Package mit dem Namen "openslides" ausgestaltet sein soll.

Hier noch ein neuer Vorschlag: Das Paket zieht für sich gesehen gar
keine Abhängigkeiten. Es gibt dann ein Metapaket für strenge
Abhängigkeiten, eins für tolerante und wer auch immer noch mehr
Metapakete für seine Zwecke bauen will, kann dies tun. Dies bedeutet,
dass derjenige, der ein strenges Paket wählt, weniger flexibel ist und
unter Umständen Virtualenv einsetzen muss, während derjenige, der ein
tolerantes wählt, mehr Risiko trägt, dass seine Abhängigkeiten
unerwartet doch nicht passen.

Viele Grüße
Norman

Am 19.11.2013 16:26, schrieb Oskar Hahn:
> Hi Norman,
> 
> Antwort im Text:
> 
> Am 18.11.2013 18:02, schrieb Norman Jäckel:
>> mir wäre wichtig, dass man das mit dem einfachen Befehl "pip install
>> openslides" vom PyPI gezogene Python Package in einer virtualenv so
>> installieren kann, dass es funktioniert und sich dies nicht nach
>> Verstreichen einiger Zeit quasi von selbst ändert, etwa wenn
>> Abhängigkeiten neuere, inkompatible Versionen herausbringen.
> Für welche Anwender ist das wichtig? Entwickler installieren sich ihre
> Abhängigkeiten sowieso aus der requirements.txt. Und Endanwender sollen
> OpenSlides global installieren. Siehe meine letzte Mail.
> 
>> Ein ähnliches Problem hatten etwa die Leute von bleach, als ein neues
>> html5lib herauskam. Ihr Package war auf einmal kaputt, ohne dass sie
>> etwas dazu getan haben. Sie musste blitzartig neu releasen.
> Das hätten sie bei einer globalen Installation ohnehin gemusst. Wenn
> bleach nicht mit der installierten Version läuft muss es angepasst werden.
> 
>> Ist es möglich, dass
>>
>> $ source .virtualenv/bin/activate && pip install openslides
>>
>> und
>>
>> $ sudo pip install openslides
>>
>> den Unterschied bemerkt und dann einmal dies, einmal ein anderes Paket
>> von PyPI zieht?
> Denke ich nicht. Man teilt pip nur den Namen openslides mit, welches
> danach auf PyPI sucht.
> 
> Hier noch ein Vorschlag:
> Wir erstellen neben dem toleranten pythonpaket openslides ein weiteres
> meta Paket (daher ohne Code, nur mit Abhängigkeiten)
> 'openslides-recommend-deps' welches harte Abhängigkeiten hat.
> Mit 'pip install openslides-recommend-deps' werden dadurch openslides,
> sowie alle Abhängigkeiten in einer bestimmten Version installiert.
> Personen die virtualenv verwenden wollen können somit mit einem Befehl
> openslides in einer 'sicheren' Umgebung installieren. Wir haben nur
> einen geringen erweiterten Aufwand und die Pakete openslides und
> openslides-recommend-deps stehen nicht miteinander im Konflikt oder sind
> in irgendeiner weise redundant.
> 
> Viele Grüße
> Oskar
> 
> 
> 
> 
> _______________________________________________
> OpenSlides users-de mailing list
> users-de at openslides.org
> http://mail.openslides.org/listinfo/users-de
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 901 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://mail.openslides.org/pipermail/users-de/attachments/20131119/b4b9c67e/attachment.sig>


More information about the users-de mailing list