| 
    Chris Hagner 
    CHagner at fool.com
        Tue Mar 27 13:12:57 EST 2001 
 A specific question about why PythonImport works for some modules and not
for others.
1.  The following statement works.  It compiles/imports apache.py at server
startup.
PythonImport mod_python.apache
2.  Now, when I create a dummy module in mod_python/MyObject.py
def myFunction():
    return "MyObject.myFunction()"
class MyObject:
    def __init__(self):
        pass
The following statement does not work.
PythonImport mod_pytnon.MyObject
Here's the error in error.log
[Tue Mar 27 13:07:56 2001] [error] directive_PythonImport: error import
mod_python.MyObject
TypeError: must assign list (not "string") to slice
Any help on this error msg?
BTW, the first error line appears at start up... second appears upon
immediate shutdown... probably just a buffer thing, but I thought I'd share.
3.  I also tried import a base module which worked fine.
PythonImport string
4.  But when I created a copy of string.py and simply renamed it, it didn't
work.
PythonImport copyofstring
Any thoughts on why mod_python appears to like some modules and not others?
Thanks in advance.
Chris
-----Original Message-----
From: Chris Hagner [mailto:CHagner at fool.com]
Sent: Thursday, March 15, 2001 12:07 PM
To: 'Gregory (Grisha) Trubetskoy'
Cc: 'mod_python at modpython.org'
Subject: RE: [mod_python] PythonImport failure
Thanks for the response.  For my tests, mypackage is a package named
'toolkit' and the mymodule is a module named 'brandconfig'.
Oh yeah, I'm doing this on Apache/1.3.19 (Win32) mod_python/2.7.1
Python/2.0.  I'm on Win2K (for development, sigh).
INTERACTIVE SESSION TEST:
******************************
Here's my python interactive session... the module only contains a single
variable x.
>>> import toolkit.brandconfig
>>> dir(toolkit.brandconfig)
['__builtins__', '__doc__', '__file__', '__name__', 'x']
>>> toolkit.brandconfig.x
123
>>> 
So, the module is importable in my python environment.
APACHE PYTHONIMPORT TEST:
******************************
Just to be sure, I ran the apache test again.  Here's the httpd.conf entry.
Nothing shocking.
<Directory "D:/site/brand1/htdocs">
   AddHandler python-program .py
   PythonHandler toolkit.publisher
   PythonDebug on
   PythonImport toolkit.brandconfig
</Directory>
Here's the response in the log upon starting apache.
   [Thu Mar 15 11:39:10 2001] [error] directive_PythonImport: error
importing toolkit.brandconfig
Same as before.  Now, just to be sure, I blew away the brandconfig.py file
(and the .pyc) so that it shouldn't even find it (just to see if I could get
a different error if it didn't even exist).  Result: No change.  Same error
in error.log.  Apparently, it's not even finding it.
APACHE PYTHON SCRIPT TEST:
******************************
So, it wasn't importing it on start up.  How about a python script in
mod_python?
Here's the code blurb...
	import foolkit.brandconfig
       out_string = "foolkit.brandconfig.x: %s \n"% foolkit.brandconfig.x
Did it work?  yup, the page displayed 
	foolkit.brandconfig.x: 123
Yes, I have read through the documentation and my need is to initialize a
number of objects (i.e. dbconn pool) for use throughout my applications.
Now, I am using a custom handler, so I could simply have the handler do this
initialization the first time it runs, but the PythonImport appeared to be a
code-free way to achieve this goal.  Do you all think this is a case where I
*really* need it?  If not, could someone share an example of when it really
deserves to be used?
Thanks again for the help.
Chris
-----Original Message-----
From: Gregory (Grisha) Trubetskoy [mailto:grisha at verio.net]
Sent: Thursday, March 15, 2001 11:26 AM
To: Chris Hagner
Cc: 'mod_python at modpython.org'
Subject: Re: [mod_python] PythonImport failure
Chris -
Have you tried
>>> import mypackage.mymodule
from an interactive Python session?
Also, regarding PythonPath - if you read documentation carefully, you'll
notice that it says that no other directives have any effect at the time
PythonImport is executed.
Generally, you should not use PythonImport unless you *really* need it,
which is almost never the case.
Grisha
On Thu, 15 Mar 2001, Chris Hagner wrote:
> Greetings,
>
> I'm trying to get the PythonImport command to work.  Been through the
> documentation, but it appears to want more than simply inserting
>
>    PythonImport mypackage.mymodule
>
> within my Directory tags in httd.conf.
>
> While mypackage.mymodule is under the standard python lib directory
> (therefore should be found through the sys.path), the system spat out the
> following...
>
>     ...[error] directive_PythonImport: error importing mypackage.mymodule
>
> I then moved the module to a different directory and appended that
directory
> to the sys.path using the PythonPath command (just to see if that allowed
it
> to find the module).  No luck.
>
> I've found a handful of posts from June and August of last year, but no
> posted solutions to getting the PythonImport command to work correctly.
Of
> course, there's a CVS commit with the comment "PythonImport works now" so
> I'm pretty sure it's me...
>
> As a random test, I tried a standard module...
>
>    PythonImport sys
>
> which appeared to work (no error msg), but I'm not really confident that
> this was a meaningful test.
>
> Thanks in advance.
>
> Chris
> chagner _at_ fool _dot_ com
>
>
> _______________________________________________
> Mod_python mailing list
> Mod_python at modpython.org
> http://www.modpython.org/mailman/listinfo/mod_python
>
_______________________________________________
Mod_python mailing list
Mod_python at modpython.org
http://www.modpython.org/mailman/listinfo/mod_python
    
  |