2012-11-19 18 views
5

Tôi đang sử dụng WSGI 3.3 cho Python 2.7.3 (32 bit) cho Apache 2.2. Tôi đã tải xuống wsgi từ http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so và chỉ đổi tên nó và chuyển nó sang mô-đun APACHE.Apache ImportError: Không có mô-đun có tên _socket trong triển khai wsgi trên Django

Tôi đã cố triển khai một ứng dụng nhưng vẫn tiếp tục nhận được ImportError: no module named _socket. Tôi đã bao gồm nhật ký lỗi và nhật ký lỗi của mình.

Tôi không chắc chắn về những gì tôi đang làm sai. Tôi nghĩ có lẽ tôi có thể bao gồm một PythonPath nhưng tôi không chắc chắn. Tôi có thể cố gắng cung cấp thêm thông tin nếu cần. Cảm ơn bạn trước.

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

Các lỗi là:

[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

Kiểm tra http://brettweiss.wordpress.com/2008/11/28/windows-vista-django-dll-issue-running-python-managepy -runserver/Vấn đề tương tự? – rorycl

+0

Không hoàn toàn, ứng dụng của tôi hoạt động thông qua máy chủ. Trong thực tế, ngay cả helloworld.wsgi của tôi hoạt động thông qua apache. Nó chỉ là khi tôi sửa đổi httpd.conf cho ứng dụng của riêng tôi, nó tạo ra một lỗi .... – Sxkaur

+0

Vui lòng chỉnh sửa câu hỏi của bạn và thêm cấu hình mod_wsgi bạn đã thêm vào tệp cấu hình Apache. Đồng thời cho biết nơi bạn đã nhận được tệp nhị phân mod_wsgi và tên của nó là gì trước khi bạn tải xuống và đổi tên nó. –

Trả lời

13

Mặc dù cài đặt lại trăn có thể làm việc. Tôi đã phát hiện ra rằng _socket là một tệp _socket.pyd nằm trong thư mục DLLs, bằng cách thêm vào pythonpath của tôi trong các cửa sổ, tôi đã có thể làm cho ứng dụng của tôi hoạt động. Cảm ơn sự giúp đỡ của mọi người.

0

Xin chào Tôi đã gặp sự cố này khi tôi cài đặt lại Django và Python2.7.3, điều này làm tôi bận tâm đến gần 2 giờ. Cuối cùng tôi đã giải quyết nó bằng cách loại bỏ Python 2.7.3, nhưng cài đặt Python 2.7.6. Hy vọng nó hoạt động cho bạn quá, chúc may mắn!

3

Cố gắng thêm/thêm thư mục "C: \ Python27 \ DLLs" vào biến môi trường PYTHONPATH của bạn. Điều này giải quyết vấn đề của _socket trên hệ thống của tôi. nếu bạn kiểm tra thư mục có một số tệp ở đó bao gồm _socket.pyd

+0

Điều đó có hiệu quả. Cảm ơn Sư Phụ p :) – uniquephase