Interactive os.environ vs. os.environ in script
Peter Otten
__peter__ at web.de
Mon Feb 26 10:32:38 EST 2007
boris.smirnov at gmail.com wrote:
> Hi there,
>
> I have a problem with setting environment variable in my script that
> uses qt library. For this library I have to define a path to tell the
> script whre to find it.
>
> I have a script called "shrink_bs_070226" that looks like this:
> **********************************
> import sys, re, glob, shutil
> import os
>
> os.environ["LD_LIBRARY_PATH"]='/path/Linux/rh_linux'
>
> from qt import *
> ***********************
>
> When I run this script I get this error:
>
>
>> python shrink_bs_070226.py
> Traceback (most recent call last):
> File "shrink_bs_070226.py", line 25, in ?
> from qt import *
> File "/path/Linux/python/rh_linux/lib/python2.2/site-packages/
> qt.py", line 46, in ?
> import libsip
> ImportError: libadamsqt.so: cannot open shared object file: No such
> file or directory
>
> What is important here that when I set this variable interactive in
> python session, there is no problem with import.
>
>> python
> Python 2.2.3 (#1, Aug 8 2003, 08:44:02)
> [GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-13)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import os
>
>>>> import shrink_bs_070226
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> File "shrink_bs_070226.py", line 25, in ?
> from qt import *
> ImportError: No module named qt
>
>>>> os.environ["LD_LIBRARY_PATH"]='/path/Linux/rh_linux'
>
>>>> import shrink_bs_070226
>>>>
>
> Could anybody explain me the logic here? Am I missing something?
Until Python 2.4 a failed import could leave some debris which would make
you think a second import did succeed.
Try
>>> import os
>>> os.environ["LD_LIBRARY_PATH"]='/path/Linux/rh_linux'
>>> import shrink_bs_070226 # I expect that to fail
in a fresh interpreter to verify that what you see is an artifact of your
test method.
Peter
More information about the Python-list
mailing list