Hi, OK, write a small script that runs you python job.
Try running the job from the shell: /usr/bin/python -v /path/to/script/update_feeds.py This will list all the import statements, so find your imports that fail in the cron job ... And then your script would be: #!/bin/sh PYTHONPATH= ...... export PYTHONPATH /usr/bin/python /path/to/script/update_feeds.py On 4 Mar 2008, at 18:27, [EMAIL PROTECTED] wrote: > > OK, I did what you instructed and checked the log file, which did > contain the system path and the traceback about the "can't import > module...". > > I see the paths specified don't contain the path to the feedparser > module, which explains the error. My question is how do I add this > path in the cron, especially since the script runs from the command > line? > > On Mar 4, 9:02 am, Evert Rol <[EMAIL PROTECTED]> wrote: >>> Well part of the problem is that the script itself works fine. I can >>> run from the command line without a hitch. But when I try to run it >>> via the cron, I get the traceback about the feedparser module. >> >> I believe that, because your PYTHONPATH will be set correctly from >> the >> command line; but possibly not from a default (basic) shell that cron >> uses. >> So, again, try putting those two statements at the top of your >> script, >> -before- the 'import feedparser' statement, and let cron do its job. >> You may need to redirect the output, eg >> 1 * * * * /usr/bin/python /path/to/script/update_feeds.py > /path/to/ >> script/update_feeds.log 2>&1 >> to get that output (I'm not sure how you got the error from the cron >> job; through email?) >> >> Check the log file: before the traceback, you should see the result >> of >> 'print sys.path'. Check if that includes the correct directories. >> >>>> Top of script (possibly just below the she-bang): >> >>>> import sys >>>> print sys.path >> >>>>>>> Traceback (most recent call last): >>>>>>> File "/path/to/script/update_feeds.py", line 10, in ? >>>>>>> import feedparser >>>>>>> ImportError: No module named feedparser >> >>>>>>> And here is the cron: >> >>>>>>> export PYTHONPATH=/path/to/python2.3/site-packages:/path/to/ >>>>>>> django/ >>>>>>> app >>>>>>> export DJANGO_SETTINGS_MODULE=myproject.settings >>>>>>> 1 * * * * /usr/bin/python /path/to/script/update_feeds.py >> >>>>>>> I'm running the cron on my Dreamhost account BTW. >> >>>>>> Did you try printing out the sys.path at the top of your >>>>>> script, so >>>>>> see if the PYTHONPATH is picked up correctly from the cron >>>>>> environment >>>>>> settings? I'd guess it should, but it may go wrong there (I'm no >>>>>> cron >>>>>> expert). > > ============================= Andrew Holt Managing Director 4A Solutions Ltd M: +44(0) 7841 340608 P: +44(0)1257 268351 Email: [EMAIL PROTECTED] Illegitimati non su carborundum ! ============================= --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---