Re: [Cheetahtemplate-discuss] Adding current directory to PYTHONPATH
Brought to you by:
rtyler,
tavis_rudd
From: Mike O. <slu...@gm...> - 2006-10-17 16:02:06
|
On 10/17/06, Mailing list subscriptions <ush...@un...> wrote: > El 17/10/2006, a las 6:27, Mike Orr escribi=F3: > > > OK, I've got the same thing. (Cheetah 2.0rc6, Python 2.4.2, Linux) > > Python interactive puts an '' at the beginning of sys.path. Python > > script puts the actual program directory instead, as does running the > > .py template file. Running "cheetah fill" does neither and thus the > > import fails. Tavis will have to troubleshoot it beyond that. > > > > I have "." at the end of my normal PYTHONPATH. I can't remember if it > > was recommended that way long ago or not. > > Ok, thanks for the clarification. I think the cause of all this is > that when you run the "cheetah" command-line tool the "actual program > directory" is "/usr/local/bin/": [slaps forehead] Oh, of course. > Although these workarounds do work they are a little bit arcane and > counter-intuitive because one would expect that Cheetah would be able > to find imported templates in the same directory without having to do > anything special. I know very little Python but I am going to have a > look at Cheetah's ImportManager.py to see if anything can be done > about this. 'cheetah fill' should just add the template directory to sys.path. That shouldn't be difficult. It would be somewhere in CheetahWrapper.py or whatever it calls, not ImportManager.py. Two possible tradeoffs: - A same-name module conflicting with another module you used to be able to import. - The security implications of implicitly adding a lookup directory. I guess if you assume the template directory is "safe" it's OK. --=20 Mike Orr <slu...@gm...> |