OK, I'm getting a different error now:

Traceback (most recent call last):
 File "update_feeds.py", line 58, in ?
   update_feeds()
 File "update_feeds.py", line 14, in update_feeds
   from knoxd.apps.aggregator.models import Feed, FeedItem
ImportError: No module named knoxd.apps.aggregator.models

I had added the following to my cron:

export PYTHONPATH=$PYTHONPATH:$HOME/lib/python2.3/site-packages

I'm assuming this solved the previous traceback issue.(?)


On Mar 4, 1:27 pm, "[EMAIL PROTECTED]" <[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).
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to