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

标签 python django windows apache mod-wsgi

我正在尝试(努力)使用 XAMPP 在 Windows 上为 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.pyd 上遇到语法错误:无法将模块/mod_wsgi.pyd 加载到服务器中: 找不到指定的模块。。我试过 3 个版本的 WHL。

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

最佳答案

我的第一次尝试是使用 python3.6.2(32 位)创建一个 virtualenv 并尝试在 vs2015_x86 命令提示符下安装 mod_wsgi,在设置 MOD_WSGI_APACHE_ROOTDIT 并执行 pip install mod_wsgi 后我会得到一堆 Unresolved 错误。

然后我想可能需要 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,使用 / 而不是 \ 并且不包含双引号。

编辑:

还尝试在没有设置 MOD_WSGI_APACHE_ROOTDIR 的情况下在正常的 cmd 提示符下(没有可用的 visual studio 编译器)在 python3.6.2(64 位)上安装 mod_wsgi 并且 wheel 已成功安装,即:

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

关于python - 2017年如何在Windows+XAMPP上安装mod_wsgi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46363836/

相关文章:

COM 引用计数

java - 如何使用批处理命令读取日志文件末尾?

python - 导入 Ansible 模块实用程序

python - 无法打开骑行Python27

Python Web Scraper 打印问题

django - 如何将自定义管理器与相关对象一起使用?

python - 这个命令到底是做什么的?

Django 微软 AD 身份验证

python - 带有 Pandas 的 Django 访问 ForeignKey

windows - 使用批处理循环遍历 CSV 文件 - 换行问题