5

我将 WSGI 3.3 用于 Apache 2.2 的 Python 2.7.3(32 位)。我从http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so下载了 wsgi并将其重命名并将其转移到 APACHE 模块。

我一直在尝试部署应用程序,但不断收到ImportError: no module named _socket. 我已经包含了我的 wsgi 和错误日志。

我不确定我做错了什么。我想也许我可以包含一个 PythonPath 但不确定。如果需要,我可以尝试提供更多信息。先感谢您。

阿帕奇配置:

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
4

3 回答 3

15

尽管重新安装 python 可能有效。我发现 _socket 是位于 DLLs 文件夹中的 _socket.pyd 文件,通过将其添加到 Windows 中的 pythonpath 中,我能够使我的应用程序工作。谢谢大家的帮助。

于 2012-11-30T21:34:00.973 回答
3

尝试将目录“C:\Python27\DLLs”包含/添加到您的 PYTHONPATH 环境变量中。这解决了我系统上 _socket 的问题。如果您检查文件夹,那里有一些文件,包括 _socket.pyd

于 2015-09-02T11:22:53.073 回答
0

嗨,我在重新安装 Django 和 Python2.7.3 时遇到了这个问题,这困扰了我将近 2 个小时。最后我通过删除 Python 2.7.3 解决了这个问题,但安装了 Python 2.7.6。希望它也对你有用,祝你好运!

于 2014-08-01T08:37:54.850 回答