On Tue, 2007-04-17 at 12:33 -0700, erikcw wrote: > You're right. Something is not right with my sys.path. > > cron: > '/home/lybp/public_html/winneralert', '/usr/lib/python2.2', '/usr/lib/ > python2.2/plat-linux2', '/usr/lib/python2.2/lib-tk', '/usr/lib/ > python2.2/lib-dynload', '/usr/lib/python2.2/site-packages'] > Traceback (most recent call last): > File "/home/lybp/public_html/winneralert/wa.py", line 18, in ? > import MySQLdb > ImportError: No module named MySQLdb > > > SHELL: > # python wa.py > ['/home/lybp/public_html/winneralert', '/usr/local/lib/python2.4/site- > packages/setuptools-0.6c5-py2.4.egg', '/usr/local/lib/python2.4/site- > packages/MySQL_python-1.2.2-py2.4-linux-i686.egg', '/usr/local/lib/ > python24.zip', '/usr/local/lib/python2.4', '/usr/local/lib/python2.4/ > plat-linux2', '/usr/local/lib/python2.4/lib-tk', '/usr/local/lib/ > python2.4/lib-dynload', '/usr/local/lib/python2.4/site-packages'] > +OK Hello there. > > Why isn't cron able to import the MySJL module? How do I make this > work? (newbie)
You have two Python versions installed on your system. Cron picks the system-installed Python 2.2 in /usr, whereas your shell picks the installation of Python 2.4 in /usr/local. Obviously, your Python 2.2 installation doesn't know MySQL, your Python 2.4 installation does. Your cron script needs to set the PATH environment variable correctly to include /usr/local/bin before /usr/bin so that it'll launch the correct Python version. HTH, Carsten -- http://mail.python.org/mailman/listinfo/python-list