Cron & Python + Package

Kolosov, Victor vkolosov at unitedmedia.com
Thu Feb 3 10:26:52 EST 2000


I have written a python script and wish to run it as a cron job. As a stand
alone program it runs just fine, but when I try to run it via crontab I seem
to be missing some  environment variables(I'm on UNIX).
I went ahead and used  os.environ to populate my environment and placed it
at the very beginning of the python script, but it still does not work.
I have written a small shell script to do exactly the same thing, that is to
set the environment before calling the python script - it worked.
Nevertheless I feel it  destroys the purpose of using python in the first
place. 
My understanding of os.environ is that it could be set as
os.environ['PATH']='.:/usr/lib:/usr/local/lib' but for some reason this
environment is not available for the rest of the script immediately(in my
case for package import).
Am I doing something wrong?
The problem is only when a python package uses  C libraries and in this case
requires LD_LIBRARY_PATH to be set. 

The following is the error message that I get.

# /usr/local/bin/python
Python 1.5.2 (#2, Apr 20 1999, 16:06:35)  [GCC 2.8.1] on sunos5
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> import DCOracle
Traceback (innermost last):
  File "<stdin>", line 1, in ?
  File "/usr/local/lib/python1.5/DCOracle/__init__.py", line 66, in ?
    from ocidb import Connect, error
  File "/usr/local/lib/python1.5/DCOracle/ocidb.py", line 50, in ?
    import oci_, ociCurs, ociProc
ImportError: ld.so.1: /usr/local/bin/python: fatal: libclntsh.so.8.0: open
failed: No such file or directory
>>>





More information about the Python-list mailing list