From: FermiPhysics <ant...@ya...> - 2009-07-31 21:10:10
|
Thomas Hrabe wrote: > > Hi, > > it seems there is a bug in swig and python >2.6 . > Please forward me a sollution to this problem, but I am experiencing the > same problems as paul before. > > I am using > python 2.6.2 > swig 1.3.39 > > These are the first rows of the module generated by python for my project. > Runs perfectly with python 2.5.4 > > from sys import version_info > if version_info >= (2,6,0): > def swig_import_helper(): > from os.path import dirname > import imp > fp = None > try: > fp, pathname, description = imp.find_module('_pytom_volume', > [dirname(__file__)]) > except ImportError: > import _pytom_volume > return _pytom_volume > if fp is not None: > #HERE IS THE ERROR > try: > _mod = imp.load_module('_pytom_volume', fp, pathname, > description) > finally: > fp.close() > return _mod > #HERE IS THE ERROR > > _pytom_volume = swig_import_helper() > del swig_import_helper > else: > import _pytom_volume > del version_info > > .... > > The 'catch' or in python 'except' part is missing here. > The code generated is thus wrong and the interpreter goes boink uppon > loading the module. > I write this in reference to some other webpage, however, here's the > bug... > > Has it been fixed yet, anybody having an idea? > > Cheers, > Thomas > > When I got this error, I manually inserted an except: except ImportError: fp.close() import _modulename return _modulename Now, if you try to import and get an error, it will probably be because _modulename won't import, which is the same reason why the imp.load_module() failed and raised the error before the inserted except clause. This will not solve the problem, but it may help to diagnose it. -- View this message in context: http://www.nabble.com/c%2B%2B-python-multiple-return-values-tp23853932p24763146.html Sent from the swig-user mailing list archive at Nabble.com. |