Por muito tempo eu estava usando o Python 2.5 para fazer tudo isso bem, mas recentemente atualizei para 2.7, já que construir coisas para 2.5 é uma verdadeira dor. Eu também atualizei mod_wsgi para 3.3 para o Python 2.7.
Tudo está funcionando bem com o Apache + mod_wsgi no CentOS e também no servidor de execução do Django no Windows e no CentOS, mas não no Apache + mod_wsgi no Windows.
Sempre que tento acessar uma página no meu aplicativo Django, recebo o seguinte (note que o Apache começa bem):
ImportError at /
DLL load failed: The specified module could not be found.
O que é causado por coisas como:
from Crypto.Cipher import AES
Etree e outros causam exatamente o mesmo erro e não estão limitados a pacotes específicos. Qualquer coisa com arquivos pyd falha.
Ir ao redor sugere a reinstalação do Python "para todos os usuários", mas o instalador não oferece mais essa opção. Por uma boa medida eu tentei reinstalar o Python 2.7 como administrador e também disse para ele se registrar como a versão padrão do Python, mas não ajudou.
Acho que a solução pode ter algo a ver com:
- O fato de eu ter 2.5, 2.6 e 2.7 instalado nesta máquina e mod_wsgi pode estar carregando as DLLs para 2.5 em vez de 2.7.
- Algo a fazer com o WSGIPythonPath, que normalmente não preciso definir.