[Python-de] urllib2 und tarfile

Olе Streicher ole-usenet-spam at gmx.net
Sa Mär 16 15:11:20 CET 2013


Marek Kubica <marek at xivilization.net> writes:
> ole-usenet-spam at gmx.net (Olе Streicher) wrote:
>> > Festzulegen, welche Versionen du unterztuetzt, waere zu einfach? 
>> > Machen alle anderen eigentlich.
>> 
>> Ja. Weil jeder auch andere Programme einsetzt. Wenn alle das gleiche
>> machen, dann will jedes Programm gerne seine eigenen Versionen von
>> numpy, scipy, pywcs, pyds9, pyQt usw. haben. Selbst wenn man das
>> durchführen kann, ist man als Anwender dann nur damit beschäftigt,
>> sich die passenden Paketversionen für seine Anwenderprogramme zu
>> beschaffen. Es sei denn, jedes Programm bringt die benötigten
>> Zusatzpakete gleich mit. Das wäre das Äquivalent zum statischen
>> Linken. Sehr modern heutzutage.
>
> Das ist ein gutes Scheinargument wenn man im Vakuum lebt. In der Realen
> welt ist dies jedoch kein Problem. Schaumal wie viele Probleme
> Linux-Distributionen haben abgestimmte Python-Pakete auszuliefern.

Das hat aber mehr mit Hoffen und Beten zu tun als mit Tests -- woher
weiß ich, dass der geneigte Programmierer bei seinem Minor Update nicht
gerade an der Funktion zugange war, die ich "use the source, Luke"
als Referenz für meine eigene Implementation verwendet habe?

> Richtig, gemessen an der anzahl der Pakete, kaum welche.

Wenn man über den Tellerrand schaut, zeigt die Notwendigkeit einer Seite
wie http://upstream-tracker.org/, dass der Bedarf an verlässlichen
Kompatibilitätsinformationen durchaus vorhanden ist. Und ich habe
durchaus immer mal Python-Stacktraces von normalen Anwenderprogrammen
auf dem Bildschirm, weil eine spezifische Kombination nicht getestet
wurde. In solchen Fällen ist es als Außenstehender (wegen der fehlenden
Interfacedefinition) fast unmöglich, zu debuggen, welcher Beteiligte das
Problem ausgelöst hat.

>> Für packages ist es noch schwieriger. Wenn ein package foo-1.0
>> unterstützt, ein anderes dagegen foo-1.01: wie kann ein Anwender beide
>> Pakete in einem Script einsetzen?

> Hast du dafür Beispiele oder ist das nun ein erdachtes
> Phantasieproblem? In der Regel ist foo-1.01 ausreichend kompatibel um
> foo-1.0 korrekt zu implementieren. So um deine Frage zu beantworten.

Habe ich, leider nicht mit öffentlich verfügbarem Code. Es handelt sich
dabei um ein astrophysikalisches Analysepaket, welches eine Version von
scipy haben möchte, und ein Paket für das Processing von Astrodaten,
welches eine andere Version erfordert.

Ole


Mehr Informationen über die Mailingliste python-de