im Laufe der Modularisierung kommen hin und wieder ein paar Bibliotheken hinzu, die nicht zum Standard hinzugehören. Von der Strukturierung her habe ich ein Index-Modul, von wo aus meine Anwendung gestartet werden soll. Meine Idee ist also, dass ich bereits in meinem "index"-Modul schon mal vorab abfragen möchte, ob bestimmte Bedingungen erfüllt sind. Und da kam mir die Idee, erst einmal alles zu importieren, und am Ende wieder zu "exportieren". Ich wollte mir den Weg sparen, und in jedem Modul eine solche Abfrage zu erstellen. Ich weiß, dass man da mit einer Try-Execpt-Behandlung arbeiten kann. Damit ihr versteht was ich meine, hier der Quelltext meines Index-Modules:
Code: Alles auswählen
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
failed = 0
if sys.version_info < (2,7):
failed = 1
sys.stderr.write("""
###########################################################
## Xarphus needs Python version 2.7 or higher. ##
## ##
## Please consider an upgrade. ##
###########################################################
""")
if sys.version_info >= (3,):
failed = 1
sys.stderr.write("""
###########################################################
## Xarphus does not yet run on Python 3. ##
## ##
## Please consider a downgrade. ##
###########################################################
""")
FILE_NAME = "xarphus.py"
def main():
try:
from PyQt4 import *
print FILE_NAME + ": all modules are imported"
start_main()
except ImportError, e:
print e
failed = 1
sys.stderr.write("""
###########################################################
## ImportError: Unable to import module: PyQt4 ##
## ##
## PyQt4 is needed for the Graphical User Interface, and ##
## must be installed in order to successfully run ##
## Xarphus ##
## PyQt4 can be obtained from: ##
## ##
## http://www.riverbankcomputing.com/software/pyqt/intro ##
###########################################################
""")
except IOError as (errno, strerror):
print FILE_NAME + ": I/O error({0}): {1}".format(errno, strerror)
except:
print FILE_NAME + ": Unexpected error:", sys.exc_info()[0]
raise
if failed:
print "Exiting ..."
sys.exit(1)
del failed
if __name__ == "__main__":
main()