.pth files and figuring out valid paths..
gagsl-py2 at yahoo.com.ar
Thu Jun 11 16:48:18 CEST 2009
En Tue, 09 Jun 2009 20:30:06 -0300, rh0dium <steven.klass at gmail.com>
> On Jun 9, 3:28 pm, Emile van Sebille <em... at fenx.com> wrote:
>> On 6/9/2009 3:00 PM rh0dium said...
>> > I have a .pth file which has some logic in it - but it isn't quite
>> > enough...
>> > It started with this..
>> > import os, site; site.addsitedir(os.path.join(os.environ["TECHROOT"],
>> > "tools/python/modules"))
>> > But that eventually evolved into..
>> > import os, site; site.addsitedir(os.path.join(os.environ.get
>> > ("TECHROOT", "/home/tech"), "tools/python/modules"))
>> Try it this way...
>> import os, site
>> smsc = os.environ.get("TECHROOT", "/home/tech")
>> if not os.path.isdir(smsc):
>> smsc = "/home/tech"
>> site.addsitedir (os.path.join(smsc,
> No for .pth files this needs to be on a single line..
Try this instead:
import os, site; smsc = os.environ.get("TECHROOT", ""); smsc = smsc if
smsc and os.path.isdir(smsc) else "/home/tech"; site.addsitedir(...)
>> > But now I want to check to make sure this directory exists or fall
>> > back to "/home/tech". That was the point of the environ.get but what
>> > if someone sets TECHROOT to /dev/null. Well that will break
>> > things... I tried this but no go. Can someone help me out..
I'd add the directory unconditionally - then, when initializing the
application, I'd check that the required modules can be imported, and
inform the user of that specific problem if not.
More information about the Python-list