Вопрос

Я настроил среду Apache2 mod_python с помощью stackless Python, и она работает.И когда я тестирую среду Python с sys.version, это показывает

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)]

в браузере.

Но когда я делаю import stackless это показывает:

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
}

Также я не могу загрузить MySQLdb, nltk и т.д.Все эти модули могут быть загружены в командной строке.Так что я предполагаю, что каким-то образом mod_python ссылается на старую установку Python.

В чем может быть проблема?


Я установил все против stackless.Как вы можете видеть, мой ответ на sys.version является

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)]

Это ответ из кода:

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

Но когда я добавляю import stackless как показано ниже, он выдает вышеупомянутую ошибку:

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

Есть ли что-то, чего мне не хватает?

Это было полезно?

Решение

mod_python компилируется для определенной версии Python и будет вызывать только эту версию.Вероятно, вам нужно будет перекомпилировать его в Stackless, предполагая, что это возможно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top