我正在尝试(努力)使用 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/