Cannot Import Python MySQL module when running a script using crontab

后端 未结 5 1944
悲哀的现实
悲哀的现实 2020-12-30 07:34

I am using crontab to run a python script that requires the module MySQLdb. When I run this script from the command line everything works fine. However, trying to run it usi

5条回答
  •  旧巷少年郎
    2020-12-30 08:18

    Define PYTHONPATH at the top of your crontab. Defining all these environment variables (below) can help you avoid some common cron problems relating to the lack of environment variables:

    USER=...
    HOME=/home/...
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:$HOME/bin
    PYTHONPATH=...
    DISPLAY=:0.0
    MAILTO=...
    LANG=en_US.UTF-8
    

    To find out the path to MySQLdb, open a python shell and type:

    >>> import MySQLdb
    >>> MySQLdb.__file__
    '/usr/lib/pymodules/python2.7/MySQLdb/__init__.pyc'
    

    Your path my differ. In the example above, the appropriate dir to add to PYTHONPATH would be /usr/lib/pymodules/python2.7 (though you should not have to add this particular path since your python executable should have this path in its sys.path automatically).

提交回复
热议问题