PyPi und Python3
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Ich würde Bottle gerne für Python2 und Python3 anbieten und pflege deshalb zwei Versionen des Quelltextes. Nun kann ich den Python3 Kram aber nicht im PyPi registrieren, da der Name 'bottle' ja bereits von der Python2 Version belegt ist. Wie mach ich das am besten?
Bottle: Micro Web Framework + Development Blog
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Du könntest auch einfach Weichen einbauen.
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Das ginge sogar, da das meiste eh nur geänderte stdlib namen sind und ich nur sehr wenige print() drin habe.
Bottle: Micro Web Framework + Development Blog
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Ich bin gerade dabei, Bottle mit Weichen gleichzeitig unter python 2 und python 3 zum laufen zu bekommen. 2.6 und 3.x funktioniert schon. Nun hab ich aber ein Problem:
Damit müsste ich den Python2.5 Support fallen lassen, um 3.* Support zu bekommen. Gibts ne andere Lösung?
Code: Alles auswählen
except SomeError, e: #works in 2.*
except SomeError as e: #works in 2.6 and 3.*
Bottle: Micro Web Framework + Development Blog
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
An der Syntax nicht, aber eventuell koenntest du 2.x und 3.xer Module schreiben
allerdings ist das auch nicht viel besser als ein 3.x Branch.
Code: Alles auswählen
if sys.version < (2, 6):
import exception2
else:
import exception3
Code: Alles auswählen
In [4]: sys.version_info
Out[4]: (2, 6, 2, 'final', 0)
In [5]: sys.version_info < (2,6)
Out[5]: False
In [6]: sys.version_info >= (2,6)
Out[6]: True
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Das mit den excep ist echt ärgerlich. Vor allem, weil es dafür kein __future__ import gibt. Alles andere wäre nämlich (bis auf ein paar imports, die man ja weichen kann) super unter 2.4-3.1 lauffähig.
Bottle: Micro Web Framework + Development Blog
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Wie hätte man in 2.4 oder 2.5 einen __future__-Import für Syntaxänderungen, die man erst zur Entwicklungszeit von 2.6 eingeführt hat, einbauen sollen?Defnull hat geschrieben:Das mit den excep ist echt ärgerlich. Vor allem, weil es dafür kein __future__ import gibt. Alles andere wäre nämlich (bis auf ein paar imports, die man ja weichen kann) super unter 2.4-3.1 lauffähig.
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Also ich bin ja der Meinung, dass die Zeitmaschine verlorengegangen ist...
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Ich hab mich jetzt doch dazu durch gerungen, den Support für Python <= 2.5 fallen zu lassen und dafür lieber auf 2.6+ und 3.x zu setzen. WSGI Frameworks für 2.x gibts eh genug, für 3.x aber noch kaum welche.
Die aktuelle GitHub Version läuft nativ unter 2.6, 3.0 und 3.1. Mein Test-Framework testet bereits alle drei Python-Versionen fehlerfrei.
Forks, die Bottle 2.5 kompatible halten, sind natürlich willkommen Ich selbst hab aber keine Lust und Zeit, zwei verschiedene Versionen zu pflegen.
Die Zeit wird lieber in eine bessere Unterstützung für Middleware und multi-application Umgebungen gesteckt
Die aktuelle GitHub Version läuft nativ unter 2.6, 3.0 und 3.1. Mein Test-Framework testet bereits alle drei Python-Versionen fehlerfrei.
Forks, die Bottle 2.5 kompatible halten, sind natürlich willkommen Ich selbst hab aber keine Lust und Zeit, zwei verschiedene Versionen zu pflegen.
Die Zeit wird lieber in eine bessere Unterstützung für Middleware und multi-application Umgebungen gesteckt
Bottle: Micro Web Framework + Development Blog