mod_python não está a carregar stackless Python
-
18-09-2019 - |
Pergunta
Tenho a configuração de um ambiente mod_python Apache2 com stackless Python e está funcionando.
E quando eu testar o ambiente Python com sys.version
, mostra
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)]
no navegador.
Mas quando eu faço import stackless
mostra:
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
}
Também eu não sou capaz de carregar MySQLdb, nltk, etc. Todos estes módulos podem ser carregados na linha de comando. Então, meu palpite é de alguma forma mod_python é referente a instalação antiga Python.
O que poderia ser o problema?
Eu instalei tudo contra stackless. Como você pode ver a minha resposta para 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)]
Esta é a resposta do código:
import sys
def index(req):
return sys.version
Mas quando eu adiciono import stackless
como abaixo ele lança o erro acima:
import sys
import stackless
def index(req):
return sys.version
Existe algo que eu estou ausente?
Solução
mod_python é compilado com uma versão específica do Python, e só vai chamar essa versão. Você provavelmente precisará de recompilar-lo contra Stackless, assumindo que é possível.