2012-11-19 10 views
5

Sto utilizzando WSGI 3.3 per Python 2.7.3 (32 bit) per Apache 2.2. Ho scaricato il file wsgi da http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so e l'ho semplicemente rinominato e trasferito nei moduli APACHE.Apache ImportError: nessun modulo denominato _socket nella distribuzione wsgi su Django

Ho cercato di distribuire un'applicazione ma continuo a ricevere lo ImportError: no module named _socket. Ho incluso il mio wsgi e i log degli errori.

Non sono sicuro di ciò che sto facendo male. Ho pensato che forse potevo includere un PythonPath ma non sono sicuro. Posso provare a fornire maggiori informazioni se necessario. Grazie in anticipo.

configurazione di Apache:

LoadModule wsgi_module modules/mod_wsgi.so 

<Directory C:/Users/xxxxd/Documents/cahd> 
AllowOverride None 
Options None 
Order deny,allow 
Allow from all 
</Directory> 

WSGIScriptAlias/C:/Users/xxxxd/Documents/cahd/cahd/django.wsgi 

WSGI File:

import os, sys     
sys.path.append('C:/Users/xxxxd/Documents) 
sys.path.append('C:/Users/xxxxd/Documents/cahd/') 
os.environ['DJANGO_SETTINGS_MODULE'] = 'cahd.settings' 
import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() 

L'errore era:

[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] Traceback (most recent call last): 
[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] File "C:/Users/xxxxd/Documents/cahd/django.wsgi", line 10, in 
[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] import django.core.handlers.wsgi 
[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] File "C:\django\Django-1.4.1\django\core\handlers\wsgi.py", line 8, in 
[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] from django import http 
[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] File "C:\django\Django-1.4.1 \django\http\_init_.py", line 11, in 
[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] from urllib import urlencode, quote 
[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] File "C:\Python27\Lib\urllib.py", line 26, in 
[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] import socket 
[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] File "C:\Python27\Lib\socket.py", line 47, in 
[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] import _socket 
[Mon Nov 19 09:44:17 2012] [error] [client 127.0.0.1] ImportError: No module named _socket 
+0

Controlla http://brettweiss.wordpress.com/2008/11/28/windows-vista-django-dll-issue-running-python-managepy -runserver/Stesso problema? – rorycl

+0

Non proprio, la mia applicazione funziona tramite runserver. In effetti, anche il mio helloworld.wsgi funziona attraverso l'apache. È solo che quando modifico httpd.conf per la mia applicazione si crea un errore .... – Sxkaur

+0

Modifica la tua domanda e aggiungi la configurazione di mod_wsgi che hai aggiunto al file di configurazione di Apache. Indica anche da dove hai preso il file binario mod_wsgi e qual è il suo nome prima di scaricarlo e rinominarlo. –

risposta

13

Anche se la reinstallazione di pitone avrebbe potuto funzionare. Ho capito che _socket era un file _socket.pyd che si trova nella cartella DLLs, aggiungendolo al mio pythonpath in windows, che era in grado di far funzionare la mia applicazione. Grazie per l'aiuto di tutti.

0

Ciao ho incontrato questo problema quando sto reinstallando Django e Python2.7.3, che ha infastidito il mio quasi 2 ore. Alla fine l'ho risolto rimuovendo Python 2.7.3, ma installando Python 2.7.6. Spero che funzioni anche per te, buona fortuna!

3

Provare a includere/aggiungere la directory "C: \ Python27 \ DLLs" alla variabile di ambiente PYTHONPATH. Questo risolve il problema di _socket sul mio sistema. se controlli la cartella ci sono alcuni file inclusi _socket.pyd

+0

Che funziona. Grazie Maestro p :) – uniquephase

Problemi correlati