Python-Version herausbekommen :)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
Necoro
User
Beiträge: 24
Registriert: Freitag 23. Dezember 2005, 01:11
Wohnort: Stuttgart
Kontaktdaten:

Python-Version herausbekommen :)

Beitragvon Necoro » Dienstag 21. März 2006, 09:30

hmmm ... hab schon n bissken im forum gesucht - aber nix gefunden :) - gibt es eine Möglichkeit, die aktuell laufende Python-Version herauszufeinden?

Grund: Wenn Python >= 2.4. ist, möchte ich das Modul subprocess laden - und wenn die Version kleiner ist, eben nicht :)
Inter Deum Et Diabolum Est!
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Dienstag 21. März 2006, 09:41

Du kannst das Laden eines Moduls einfach ein eine try-Block einschliessen.

Code: Alles auswählen

try:
    import subprocess;
except ImportError:
    print "Module subprocess not available";
else:
    #do someting...
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: Python-Version herausbekommen :)

Beitragvon gerold » Dienstag 21. März 2006, 10:12

Necoro hat geschrieben:gibt es eine Möglichkeit, die aktuell laufende Python-Version herauszufeinden?

Hi Necoro!

Ich würde wie Rebecca mit try und except arbeiten. Aber um die Frage vollständig zu beantworten:

Code: Alles auswählen

>>> import sys
>>> sys.version
'2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)]'
>>> sys.version_info
(2, 4, 0, 'final', 0)
>>>

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Re: Python-Version herausbekommen :)

Beitragvon jens » Dienstag 21. März 2006, 10:20

Necoro hat geschrieben:Grund: Wenn Python >= 2.4. ist, möchte ich das Modul subprocess laden - und wenn die Version kleiner ist, eben nicht :)


Du kannst subprocess einfach nachrüsten, siehe:
http://www.python-forum.de/viewtopic.php?p=33403#33403

Wenn du subprocess.py von Python 2.4 in ein Unterverzeichnis (z.B. backports) packst, könntest du folgendes tun:

Code: Alles auswählen

try:
    import subprocess
except ImportError:
    from backports import subprocess

Im Unterverzeichnis ./backports muß natürlich eine leere __init__.py Datei liegen!

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Necoro
User
Beiträge: 24
Registriert: Freitag 23. Dezember 2005, 01:11
Wohnort: Stuttgart
Kontaktdaten:

Beitragvon Necoro » Dienstag 21. März 2006, 15:38

jo ... thx :)
Inter Deum Et Diabolum Est!
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 21. März 2006, 15:41

Ach, zum ursprünglichen Problem: http://wiki.python.de/Python_Version_abfragen

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Re: Python-Version herausbekommen :)

Beitragvon Joghurt » Dienstag 21. März 2006, 17:01

Necoro hat geschrieben:Grund: Wenn Python >= 2.4. ist, möchte ich das Modul subprocess laden - und wenn die Version kleiner ist, eben nicht :)
Die bessere Lösung wurde ja schon gepostet.

Anstatt zu versuchen, einen Fehler zu verhindern (indem du dir überlegst, wann er auftreten kann), ist es besser, auf den Fehler zu reagieren.

Denn was machst du, wenn z.B. subprocess nicht unter FooBar läuft, oder jemand subprocess nach 2.3 portiert hat, etc, pp.

Wenn du irgendwo hinmusst, schaust du ja auch nicht erst in den Tank deines Autos, kontrollierst dann, ob der Luftfilter sauber ist, und kommst dann zu dem Schluss, dass du jetzt nur den Schlüssel umdrehen und Gas geben musst, um zum Ziel zu kommen. (Und wenn der Motor nicht läuft, bleibst du stumpf im Auto sitzen und beharrst darauf, dass der Motor läuft, denn du hast ja jede Fehlerquelle ausgeschlossen)
Vielmehr drehst du gleich den Schlüssel um, und wenn der Motor nicht anspringt, fährst du halt mit dem Bus

Edit: typo
Zuletzt geändert von Joghurt am Dienstag 21. März 2006, 20:05, insgesamt 1-mal geändert.
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Beitragvon henning » Dienstag 21. März 2006, 18:34

Die Metapher mit dem Auto für EAFP is Klasse, darf man dich damit zietieren oder kommt das aus einer anderen Quelle?
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Beitragvon Joghurt » Dienstag 21. März 2006, 19:06

Darft mich gerne Zitieren, aber nur, wenn du mit verräts, was EAFP ist.

"Europäische Akademie für Finanzplanung" sowie "European Association of Fish Pathologists" ist es ja wohl nicht...
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 21. März 2006, 19:19

Joghurt hat geschrieben:Darft mich gerne Zitieren, aber nur, wenn du mit verräts, was EAFP ist.

"Europäische Akademie für Finanzplanung" sowie "European Association of Fish Pathologists" ist es ja wohl nicht...

Nein, wahrlich nicht :) Easier to ask for forgiveness than permission
My god, it's full of CARs! | Leonidasvoice vs Modvoice
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Beitragvon henning » Dienstag 21. März 2006, 20:33

@Joghurt: Sorry für die unaufgelöste Abkürzung, hatte angenommen, das ist den meisten Pythoniern ein Begriff ,-)
BlackJack

Beitragvon BlackJack » Mittwoch 22. März 2006, 07:29

try:

Womit wir jetzt EAFP mal live gesehen haben. LBYL wäre es gewesen gewesen wenn Henning erstmal gefragt hätte ob denn auch alle die Abkürzung EAFP kennen. :-)

catch AbbrvError:

LBYL = Look Before You Leap
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Beitragvon Joghurt » Mittwoch 22. März 2006, 21:49

BlackJack hat geschrieben:catch AbbrvError:
Ähem...

Das "raise"t einen SyntaxError ;)
BlackJack

Beitragvon BlackJack » Mittwoch 22. März 2006, 22:48

Oh man, das ist vielleicht peinlich... :oops:

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder