470,612 Members | 2,286 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,612 developers. It's quick & easy.

Error importing modules with mod_python

I've installed mod_python, and everything seems to be working, but it
fails when I try to import another file into the file that's actually
producing the output. I have these lines at the top of index.py:

from mod_python import apache
from storylab import *

.... and in the directory where index.py resides (/htdocs/python/), I
have a directory called "storylab". Inside that directory is
__init__.py. When I try to execute /htdocs/python/index.py, I get the
following error:

---

MOD_PYTHON ERROR
ProcessId: 828
Interpreter: 'localhost'
ServerName: 'localhost'
DocumentRoot: 'C:/htdocs'
URI: '/python/index.py'
Location: None
Directory: 'C:/htdocs/python/'
Filename: 'C:/htdocs/python/index.py'
PathInfo: ''
Phase: 'PythonHandler'
Handler: 'index'

Traceback (most recent call last):

File "C:\Python25\lib\site-packages\mod_python\importer.py", line
1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)

File "C:\Python25\lib\site-packages\mod_python\importer.py", line
1202, in _process_target
module = import_module(module_name, path=path)

File "C:\Python25\lib\site-packages\mod_python\importer.py", line
296, in import_module
log, import_path)

File "C:\Python25\lib\site-packages\mod_python\importer.py", line
680, in import_module
execfile(file, module.__dict__)

File "C:\htdocs\python\index.py", line 2, in <module>
from storylab import *

ImportError: No module named storylab

---

What am I doing wrong? Any insight would be greatly appreciated.

Thanks,
Aaron
Jul 21 '08 #1
2 1864
Aaron Scott wrote:
I've installed mod_python, and everything seems to be working, but it
fails when I try to import another file into the file that's actually
producing the output. I have these lines at the top of index.py:

from mod_python import apache
from storylab import *

... and in the directory where index.py resides (/htdocs/python/), I
have a directory called "storylab". Inside that directory is
__init__.py. When I try to execute /htdocs/python/index.py, I get the
following error:

---

MOD_PYTHON ERROR
ProcessId: 828
Interpreter: 'localhost'
ServerName: 'localhost'
DocumentRoot: 'C:/htdocs'
URI: '/python/index.py'
Location: None
Directory: 'C:/htdocs/python/'
Filename: 'C:/htdocs/python/index.py'
PathInfo: ''
Phase: 'PythonHandler'
Handler: 'index'

Traceback (most recent call last):

File "C:\Python25\lib\site-packages\mod_python\importer.py", line
1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)

File "C:\Python25\lib\site-packages\mod_python\importer.py", line
1202, in _process_target
module = import_module(module_name, path=path)

File "C:\Python25\lib\site-packages\mod_python\importer.py", line
296, in import_module
log, import_path)

File "C:\Python25\lib\site-packages\mod_python\importer.py", line
680, in import_module
execfile(file, module.__dict__)

File "C:\htdocs\python\index.py", line 2, in <module>
from storylab import *

ImportError: No module named storylab

---

What am I doing wrong? Any insight would be greatly appreciated.
You need to tell python that it should add the path your storylab-module is
residing in to the sys.path-list of module locations.

There are a bunch of ways to do so:

- in your main-script, import sys, and append the proper path to sys.path
- add a .pth-file into python's site-packages that points to the location
- set the environment variable PYTHONPATH
- use distutils or setuptools to proper install the module.

Google will help you to find additional information about the above
mentioned concepts.

Diez
Jul 21 '08 #2
On Jul 22, 3:30*am, Aaron Scott <aaron.hildebra...@gmail.comwrote:
I've installedmod_python, and everything seems to be working, but it
fails when I try to import another file into the file that's actually
producing the output. I have these lines at the top of index.py:

frommod_pythonimport apache
from storylab import *

... and in the directory where index.py resides (/htdocs/python/), I
have a directory called "storylab". Inside that directory is
__init__.py. When I try to execute /htdocs/python/index.py, I get the
following error:

---

MOD_PYTHONERROR
ProcessId: * * *828
Interpreter: * *'localhost'
ServerName: * * 'localhost'
DocumentRoot: * 'C:/htdocs'
URI: * * * * * *'/python/index.py'
Location: * * * None
Directory: * * *'C:/htdocs/python/'
Filename: * * * 'C:/htdocs/python/index.py'
PathInfo: * * * ''
Phase: * * * * *'PythonHandler'
Handler: * * * *'index'

Traceback (most recent call last):

* File "C:\Python25\lib\site-packages\mod_python\importer.py", line
1537, in HandlerDispatch
* * default=default_handler, arg=req, silent=hlist.silent)

* File "C:\Python25\lib\site-packages\mod_python\importer.py", line
1202, in _process_target
* * module = import_module(module_name, path=path)

* File "C:\Python25\lib\site-packages\mod_python\importer.py", line
296, in import_module
* * log, import_path)

* File "C:\Python25\lib\site-packages\mod_python\importer.py", line
680, in import_module
* * execfile(file, module.__dict__)

* File "C:\htdocs\python\index.py", line 2, in <module>
* * from storylab import *

ImportError: No module named storylab

---

What am I doing wrong? Any insight would be greatly appreciated.
You can't put Python packages in same directory as handler scripts
managed by mod_python. See documentation for import_module() in:

http://www.modpython.org/live/curren...pi-apmeth.html

Graham
Jul 22 '08 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Lorenz KŲhl | last post: by
4 posts views Thread by Michele Petrazzo | last post: by
reply views Thread by Julien Cigar | last post: by
1 post views Thread by jcharth | last post: by
14 posts views Thread by T. Crane | last post: by
1 post views Thread by deepak | last post: by
3 posts views Thread by Paul Rudin | last post: by
reply views Thread by Martin P. Hellwig | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.