try with -M 

Il giorno venerdì 28 settembre 2012 03:27:25 UTC+2, paul.mcilwaine ha 
scritto:
>
> I am attempting to create console scripts which can be run by a scheduled 
> task or manually which requires import of custom modules. My python script 
> is located in the applications/[appname]/private folder.
>
> In a very simple example of the issue Ive run the following command
>
> python web2py.py -S testapp -N -R applications/testapp/private/test.py
>
> test.py looks like this
>
>
> from mymodule import test
> print test()
>
> and mymodule which is located in applications/testapp/modules/mymodule.py 
> looks like tis
>
> def test():
>     return 1 
>
> However custom_import.py is throwing me an ImportError exception.
>
> Traceback (most recent call last):
>>   File "/root/web2py-v2/gluon/shell.py", line 217, in run
>>     execfile(startfile, _env)
>>   File "applications/testapp/private/test.py", line 2, in <module>
>>     from mymodule import test
>>   File "/root/web2py-v2/gluon/custom_import.py", line 300, in __call__
>>     fromlist, level)
>>   File "/root/web2py-v2/gluon/custom_import.py", line 80, in __call__
>>     level)
>> ImportError: No module named mymodule
>
>
> My understanding is that the -R param creates a web2py environment (much 
> like it does with controller files) and should be able to import this 
> module. What I can do is import the module using the full path that is
>
> from applications.testapp.modules.mymodule import test
>
> However when the application goes live, the application name may change. 
> Is there a way to import like I currently do in controllers, or must I use 
> the full path like the above ?
>
> Im currently using Version 1.99.4 (2011-12-14 14:46:14), but have also 
> tested with Version 2.0.9 (2012-09-13 23:51:30) stable
>

-- 



Reply via email to