By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
464,761 Members | 1,018 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 464,761 IT Pros & Developers. It's quick & easy.

Error importing modules with mod_python

P: n/a
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
Share this Question
Share on Google+
2 Replies

P: n/a
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

P: n/a
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.