Nick
nick at dd.revealed.net
Tue Oct 25 09:56:32 EDT 2005
I wonder what mod_perl does in this case. Perhaps argv should contain the command line that launched the first apache process? Nick Graham Dumpleton wrote: > The sys.argv array isn't usually available when Python interpreters are > being embedded into a C/C++ program as is the case with mod_python. > > I would suggest it is bad for a package to always assume that it will only > ever be used from standard "python" program exclusively. > > A quick hack you can use to get around the problem is: > > import sys > sys.argv = [ "mod_python" ] > import numarray > > This issue with sys.argv has come up before recently. Was thinking at > the time whether mod_python when initialised should setup a bodgy > sys.argv to avoid these problems. > > Graham > > Patrik Jonsson wrote .. > >>hi, >> >>I just started playing with mod_python and I have a problem importing >>the numarray module. it works fine from the command line, but not when >>executed through mod_python. I have the Publisher handler and a very >>basic script: >> >>" >>import numarray >>" >> >>This gives the following output: >> >>Mod_python error: "PythonHandler mod_python.publisher" >> >>Traceback (most recent call last): >> >> File "/usr/lib64/python2.4/site-packages/mod_python/apache.py", line >>299, in HandlerDispatch >> result = object(req) >> >> File "/usr/lib64/python2.4/site-packages/mod_python/publisher.py", >>line 98, in handler >> path=[path]) >> >> File "/usr/lib64/python2.4/site-packages/mod_python/apache.py", line >>457, in import_module >> module = imp.load_module(mname, f, p, d) >> >> File "/home/www/patrik/simulations/junk.py", line 1, in ? >> import numarray >> >> File "/usr/lib64/python2.4/site-packages/numarray/__init__.py", line >>42, in ? >> from numarrayall import * >> >> File "/usr/lib64/python2.4/site-packages/numarray/numarrayall.py", >>line 1, in ? >> from numerictypes import * >> >> File "/usr/lib64/python2.4/site-packages/numarray/numerictypes.py", >>line 390, in ? >> from codegenerator.ufunccode import typecode >> >> File >>"/usr/lib64/python2.4/site-packages/numarray/codegenerator/__init__.py", >>line 1, in ? >> from basecode import all_types >> >> File >>"/usr/lib64/python2.4/site-packages/numarray/codegenerator/basecode.py", >>line 20, in ? >> if hasUInt64(): >> >> File >>"/usr/lib64/python2.4/site-packages/numarray/codegenerator/basecode.py", >>line 11, in hasUInt64 >> return "--hasUInt64" in sys.argv >> >>AttributeError: 'module' object has no attribute 'argv' >> >> >> >> >>This looks like sys.argv doesn't exist from within mod_python? I agree >>this information probably isn't useful in this context, but since all >>documentation I've seen says that sys.argv is defined, it seems bad to >>break existing software that relies on its existence. Shouldn't it just >>be [''] like it is when you run the interpreter from the command line? >> >>Incidentally, if I reload the page, I get instead: >> >>Mod_python error: "PythonHandler mod_python.publisher" >> >>Traceback (most recent call last): >> >> File "/usr/lib64/python2.4/site-packages/mod_python/apache.py", line >>299, in HandlerDispatch >> result = object(req) >> >> File "/usr/lib64/python2.4/site-packages/mod_python/publisher.py", >>line 98, in handler >> path=[path]) >> >> File "/usr/lib64/python2.4/site-packages/mod_python/apache.py", line >>457, in import_module >> module = imp.load_module(mname, f, p, d) >> >> File "/home/www/patrik/simulations/junk.py", line 1, in ? >> import numarray >> >> File "/usr/lib64/python2.4/site-packages/numarray/__init__.py", line >>42, in ? >> from numarrayall import * >> >> File "/usr/lib64/python2.4/site-packages/numarray/numarrayall.py", >>line 1, in ? >> from numerictypes import * >> >> File "/usr/lib64/python2.4/site-packages/numarray/numerictypes.py", >>line 168, in ? >> Byte = _register("Byte", Int8) >> >> File "/usr/lib64/python2.4/site-packages/numarray/numerictypes.py", >>line 68, in _register >> raise ValueError("Type %s has already been registered" % name) >> >>ValueError: Type Byte has already been registered >> >> >> >>If anyone has any ideas on how to fix this, I'd much appreciate it! >> >>Thanks, >> >>/Patrik > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python
|