2009-12-12 1 views
0

J'essaie de déployer un projet django via mod_python et je continue à recevoir une erreur disant qu'un module de gestionnaire est manquant.Erreur de déploiement de Django mod_python

Ma config apache:

<Location /> 
      SetHandler python-program 
      PythonHandler django.core.handlers.modpython 
      SetEnv DJANGO_SETTINGS_MODULE bookmarklet_server.settings 
      PythonOption django.root/
      PythonDebug On 
      #PythonPath "['', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/local/lib/python2.6/dist-packages']" 
    </Location> 

L'autre voie est de ma tentative de copier un peu plus de la PYTHONPATH par défaut, mais il n'a pas aidé.

Un test rapide dans la console python montre le module doit être accesible:

Python 2.6.4 (R264: 75706 2 Nov 2009, 14:44:17) [CCG 4.4.1] sur linux2 Tapez "help", "copyright", "credits" ou "license" pour plus d'informations.

>>> import django.core.handlers.modpython

aucune erreur

chargement Toutefois, le site, cette erreur est retourné inadvertendly:

MOD_PYTHON ERROR 

ProcessId:  8926 
Interpreter: '<ip>' 

ServerName:  '<ip>' 
DocumentRoot: '/htdocs' 

URI:   '/' 
Location:  '/' 
Directory:  None 
Filename:  '/htdocs' 
PathInfo:  '/' 

Phase:   'PythonHandler' 
Handler:  'django.core.handlers.modpython' 

Traceback (most recent call last): 

    File "/usr/lib/python2.6/dist-packages/mod_python/importer.py", line 1537, in HandlerDispatch 
    default=default_handler, arg=req, silent=hlist.silent) 

    File "/usr/lib/python2.6/dist-packages/mod_python/importer.py", line 1202, in  _process_target 
    module = import_module(module_name, path=path) 

    File "/usr/lib/python2.6/dist-packages/mod_python/importer.py", line 304, in import_module 
    return __import__(module_name, {}, {}, ['*']) 

ImportError: No module named django.core.handlers.modpython 
+0

Quel chemin dans django est installé? Est-il accessible à l'utilisateur du serveur Web? – bobince

Répondre

0

Ok, réussi à résoudre le problème.

Ce problème d'importation particulier a été corrigé par en installant django plutôt que d'avoir simplement le lien svn lié dans les dist-packages. Pourquoi cela ne fonctionne pas pour les processus serveur que je ne connais pas. Mais de toute façon, d'autres problèmes ont été résolus en effectuant un déploiement CGI via nginx et finalement le dernier problème (qui a également échoué ma tentative de déploiement wsgi) était que mon répertoire/home, où se trouvaient les fichiers, était accessible uniquement par moi-même.

J'ai appris beaucoup aujourd'hui :)

0

Peut-être django n'est pas dans votre Pythonpath?

Questions connexes