2012-11-19 24 views
5

我正在爲Apache 2.2使用WSGI 3.3 for Python 2.7.3(32bit)。我從http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so下載了wsgi,並將其重命名並將其轉移到APACHE模塊。Apache ImportError:在Django的wsgi部署中沒有名爲_socket的模塊

我一直在試圖部署一個應用程序,但繼續收到ImportError: no module named _socket。我已經包含了我的wsgi和錯誤日誌。

我不確定我做錯了什麼。我想也許我可以包含一個PythonPath,但我不確定。如果需要,我可以嘗試提供更多信息。先謝謝你。

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文件:

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

錯誤是:

[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

退房http://brettweiss.wordpress.com/2008/11/28/windows-vista-django-dll-issue-running-python-managepy -runserver /同樣的問題? – rorycl

+0

不是,我的應用程序通過runserver工作。事實上,即使我的helloworld.wsgi通過apache工作。只是當我爲我自己的應用程序修改httpd.conf時,它會創建一個錯誤.... – Sxkaur

+0

請編輯您的問題並添加您添加到Apache配置文件的mod_wsgi配置。還請指出從何處下載mod_wsgi二進制文件並將其重命名之前它的名稱。 –

回答

13

雖然重新安裝巨蟒本來是可行的。我發現_socket是一個位於DLLs文件夾中的_socket.pyd文件,通過將它添加到我在Windows中的pythonpath中,我可以使我的應用程序工作。感謝大家的幫助。

0

嗨我遇到這個問題,當我重新安裝Django和Python2.7.3,這困擾了我近2個小時。最後我通過刪除Python 2.7.3來解決它,但是安裝Python 2.7.6。希望它也適合你,祝你好運!

3

嘗試在您的PYTHONPATH環境變量中包含/添加目錄「C:\ Python27 \ DLLs」。這解決了我係統上的_socket問題。如果你檢查文件夾,那裏有一些文件,包括_socket.pyd

+0

這很有效。謝謝師父p :) – uniquephase

相關問題