Python 2.7.3 Web2py 2.2.1 The situation:
In modules directory I have a subdirectory with two files class1.py and class2.py. This is a package (empty __init__.py is present). class2.py imports class1.py and Class2 inherits from Class1. My controller dynamically imports class2 with the function __import__(class2). On top of my db.py model I call the track_changes part. The modules do not seem to be updated if I change code in class1.py or class2.py. I have solved it for now by reloading all the modules with reload() after I import them. So after I dynamically import class2 in my controller I call reload(class2). In class2.py after the import of class1 I call reload(class1). This is the only way I get the code changes to work in both files. It seems that the track_changes part is not working in this situation or something? Or is there another solution? Regards, Chris On Monday, December 10, 2012 4:34:33 PM UTC+1, Massimo Di Pierro wrote: > > It should work when you do it. > > Which python version? Which web2py version? > > On Monday, 10 December 2012 02:57:20 UTC-6, Chr_M wrote: >> >> I call this function at the top of my db.py model file. Is this not the >> correct location? >> >> Regards, Chris >> >> >> On Sunday, December 9, 2012 11:55:06 PM UTC+1, Massimo Di Pierro wrote: >>> >>> This has come up before. >>> >>> from gluon.custom_import import track_changes; track_changes() >>> >>> must be a model file, before the modules are imported, not in the >>> modules themselves which are otherwise cached and therefore the line may or >>> may not be executed. >>> >>> Massimo >>> >>> On Sunday, 9 December 2012 15:34:09 UTC-6, Chr_M wrote: >>>> >>>> Sometimes the changes in the code of a module (in the modules >>>> directory) are not working when requesting the url that uses these >>>> modules. >>>> in the modules directory I have a subdirectory with python files that form >>>> a package (__init__.py file in this subdirectory). I have added >>>> >>>> from gluon.custom_import import track_changes >>>> track_changes() >>>> >>>> in the first model that gets called, but still sometimes code changes >>>> are not working. I noticed that the py-files in the modules dir get >>>> compiled to pyc-files. But at one point (it looks to be randomly) these >>>> are >>>> not compiled anymore when I change code in the py-files. But even when I >>>> remove these pyc-files, the code changes are still not working when >>>> requesting the url. >>>> >>>> Am I missing something? Is there a cache I can clear or something? I >>>> now have to restart web2py to make the code changes work... >>>> >>>> Thanks. >>>> >>>> Regards, Chris >>>> >>>> --

