如何在2017年的Windows + XAMPP上安装mod_wsgi

时间:2017-09-22 11:35:14

标签: python django windows apache mod-wsgi

我正在努力(很难)在Windows上使用XAMPP为Django应用程序设置环境。

我有什么:

  • Windows 7 64位
  • Apache / 2.4.25(Win32)
  • Python 3.6.1 platform.architecture() = ('64bit', 'WindowsPE')
  • Cygwin 2.9.0(0.318 / 5/3)
  • MOD_WSGI_APACHE_ROOTDIR在XAMPP安装中指向apache目录

我已经做了什么:

尝试使用pip install mod_wsgi进行安装,但由于无法找到apxs,因此无效。所以我在Cygwin中安装了httpd-devel。现在,由于我无法理解的大量输出,它会出现collect2: error: ld returned 1 exit status错误。

根据this,我已经下载了WHL文件,提取了PYD文件,但是当我想运行Apache时,我在LoadModule wsgi_module modules/mod_wsgi.pydCannot load modules/mod_wsgi.pyd into server: The specified module could not be found.上遇到了语法错误。我试过WHL的3个版本。

我是Python / Django和WSGI的新手,我已经完成了; - )

2 个答案:

答案 0 :(得分:0)

我的第一次尝试是使用python3.6.2(32位)创建virtualenv并尝试在vs2015_x86命令提示符上安装mod_wsgi,在设置MOD_WSGI_APACHE_ROOTDIT并执行pip install mod_wsgi之后我会收到一堆未解决的错误。< / p>

然后我想也许它需要一个64位版本的python所以我安装了python3.6.2(64位),创建了一个virtualenv并打开了一个vs2015 x64命令提示符,安装顺利,即:

(py362_64) D:\sources\personal\python\framework\engine\tests\test>set MOD_WSGI_APACHE_ROOTDIR=C:/wamp/bin/apache/apache2.4.9

(py362_64) D:\sources\personal\python\framework\engine\tests\test>pip install mod_wsgi                               
Collecting mod_wsgi                                                                                                  
  Using cached mod_wsgi-4.5.18.tar.gz                                                                                
Building wheels for collected packages: mod-wsgi                                                                     
  Running setup.py bdist_wheel for mod-wsgi ... done                                                                 
  Stored in directory: C:\Users\KneDa\AppData\Local\pip\Cache\wheels\75\86\b4\6e5bf5e1cea623c0578dc5d0424a32014f33cd3
bfde193d987                                                                                                          
Successfully built mod-wsgi                                                                                          
Installing collected packages: mod-wsgi                                                                              
Successfully installed mod-wsgi-4.5.18                                                                               

您需要注意的一件事是如何设置MOD_WSGI_APACHE_ROOTDIR,使用/代替\而不是用双引号括起来。

编辑:

还尝试在普通的cmd提示符(没有可用的Visual Studio编译器)上在python3.6.2(64位)上安装mod_wsgi,而没有设置MOD_WSGI_APACHE_ROOTDIR并且已经成功安装了轮子,即:

(foo) C:\whatever>pip install mod_wsgi
Collecting mod_wsgi
Installing collected packages: mod-wsgi
Successfully installed mod-wsgi-4.5.18

答案 1 :(得分:0)

Xampp是64位的,因此我使用了64位python,并将根目录设置为C:/ xampp / apache,然后安装了mod_wsgi。

https://www.python.org/ftp/python/3.7.5/python-3.7.5-amd64.exe