我已经看到这个问题被问了很多次,我也尝试过所描述的解决方案——不幸的是,这些解决方案对我不起作用,所以我想问自己的问题。我希望它没有被标记为欺骗或类似的行为。
我的问题是,在Windows7上,我无法让Apache2.0加载WSGI模块,而运行Django项目需要WSGI模块。让我先描述一下我的环境,以及我是如何到达那里的。
窗户
:
我使用的是带有Service Pack 1的Windows 7 64位企业版。
蟒蛇
:我已经安装了python 2.7.3 32位,并将其放在我的路径上。当我键入
python
在PowerShell中,我看到以下消息:
C:\ $ python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
我安装了32位python,因为没有适用于Windows的64位版本的WSGI模块。我已经确保为所有用户安装它(我在其他问题上看到,为所有用户进行安装解决了加载WSGI模块的问题,但它并没有解决我的问题)。我已经通过以下步骤安装了python:
-
以管理员身份启动PowerShell(右键单击->“以管理员身份运行”)
-
运行以下命令:
msiexec /i python-2.7.3.msi ALLUSERS=1
(如下所述:
http://www.python.org/getit/releases/2.4/msi/
)
阿帕奇
:我已经安装了32位的Apache 2.0(因此Apache的位版本与Python的位版本和WSGI模块的位版本相匹配)。当我进入时
services.msc
在“运行”对话框(Win+r)和标记Apache中,我可以在左侧的描述中看到以下内容:
Description:
Apache/2.0.64 (Win32)
Apache安装在以下目录中:
C:\Program Files (x86)\Apache Group\Apache2
。在我安装mod_wsgi之前,Apache启动得很好。
mod_wsgi模式
:我已经从这里下载了适用于Windows和Python 2.7的二进制文件:
https://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2
(该文件名为“mod_wsgi-win32-ap22py27-3.3.so”),然后我将其重命名为
mod_wsgi.so
并将其复制到
C:\Program Files (x86)\Apache Group\Apache2\modules
最后,我在Apache的httpd.conf中放了这一行:
LoadModule wsgi_module modules/mod_wsgi.so
.
现在,当我尝试启动Apache时,会遇到以下错误:
Syntax error on line 174 of C:/Program Files (x86)/Apache Group/Apache2/conf/httpd.conf:
Cannot load C:/Program Files (x86)/Apache Group/Apache2/modules/mod_wsgi.so into server:
The specified module could not be found.
我几乎被困在这里了。