Question

J'ai installé un environnement mod_python avec stackless Python Apache2 et il fonctionne. Et quand je teste l'environnement Python avec sys.version, il montre

2.5.2 Stackless 3.1b3 060516 (python-2.52:76701, Dec  8 2009, 02:13:34) 
[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu4)]

dans le navigateur.

Mais quand je import stackless il montre:

MOD_PYTHON ERROR

ProcessId:      26177
Interpreter:    '127.0.1.1'

ServerName:     '127.0.1.1'
DocumentRoot:   '/var/www/'

URI:            '/test.py'
Location:       None
Directory:      '/var/www/'
Filename:       '/var/www/test.py'
PathInfo:       ''

Phase:          'PythonHandler'
Handler:        'mod_python.publisher'

Traceback (most recent call last):

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

  File "/usr/local/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target
    result = _execute_target(config, req, object, arg)

  File "/usr/local/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target
    result = object(arg)

  File "/usr/local/lib/python2.5/site-packages/mod_python/publisher.py", line 204, in handler
    module = page_cache[req]

  File "/usr/local/lib/python2.5/site-packages/mod_python/importer.py", line 1059, in __getitem__
    return import_module(req.filename)

  File "/usr/local/lib/python2.5/site-packages/mod_python/importer.py", line 296, in import_module
    log, import_path)

  File "/usr/local/lib/python2.5/site-packages/mod_python/importer.py", line 680, in import_module
    execfile(file, module.__dict__)

  File "/var/www/test.py", line 1, in <module>
    import stackless

ImportError: No module named stackless


MODULE CACHE DETAILS

Accessed:       Tue Dec  8 08:53:24 2009
Generation:     0

_mp_27cc55c5447f9e0aa13691719290c225 {
  FileName:     '/var/www/test.py'
  Instance:     1 [IMPORT]
  Generation:   0 [ERROR]
  Modified:     Tue Dec  8 08:52:43 2009
}

Aussi je ne suis pas en mesure de charger MySQLdb, NLTK, etc. Tous ces modules peuvent être chargés dans la ligne de commande. Donc, je pense est en quelque sorte mod_python fait référence l'ancienne installation Python.

Quel pourrait être le problème?


J'ai installé tout contre stackless. Comme vous pouvez le voir ma réponse pour sys.version est

2.5.2 Stackless 3.1b3 060516 (python-2.52:76701, Dec 8 2009, 02:13:34) [GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu4)]

Ceci est la réponse du code:

import sys
def index(req):
  return sys.version

Mais quand j'ajoute import stackless comme ci-dessous, il jette l'erreur ci-dessus:

import sys
import stackless
def index(req):
  return sys.version

Y at-il quelque chose que je suis absent?

Était-ce utile?

La solution

mod_python est compilé avec une version spécifique de Python, et n'appeler cette version. Vous aurez probablement besoin de recompiler contre Stackless, en supposant que ce soit possible.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top