提问人:Waly 提问时间:4/2/2020 最后编辑:Waly 更新时间:4/12/2021 访问量:533
在 Apache 上托管 Django
hosting Django on Apache
问:
我正在按照教程尝试在 apache 服务器上托管 Django,现在当我最终使用 cmd 安装 mod_wsgi 时,我尝试使用命令:
mod_wsgi-express module-config
现在我收到另一个错误 - 这是:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
(Adwy) C:\Users\Adwy>mod_wsgi-express module-config
Traceback (most recent call last):
File "C:\Users\Adwy\AppData\Local\Programs\Python\Python35\Scripts\mod_wsgi-express-script.py", line 11, in <module>
load_entry_point('mod-wsgi==4.5.20', 'console_scripts', 'mod_wsgi-express')()
File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\pkg_resources\__init__.py", line 490, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\pkg_resources\__init__.py", line 2859, in load_entry_point
return ep.load()
File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\pkg_resources\__init__.py", line 2450, in load
return self.resolve()
File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\pkg_resources\__init__.py", line 2456, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\mod_wsgi\server\__init__.py", line 24, in <module>
from . import apxs_config
File "c:\users\adwy\appdata\local\programs\python\python35\lib\site-packages\mod_wsgi\server\apxs_config.py", line 27
LIBEXECDIR = 'C:\xampp\apache\/lib'
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \xXX escape
我正在寻求帮助!
谢谢
答:
0赞
Steven Graham
4/2/2020
#1
看起来您可能需要使用正斜杠设置 MOD_WSGI_APACHE_ROOTDIR 环境变量。示例: “C:/foo/bar/apache”
看看这个问题,它看起来很相似: https://github.com/GrahamDumpleton/mod_wsgi/issues/345
评论
0赞
Waly
4/2/2020
是的,我看到了这个,并仔细检查了它,我已经将目录设置为apache文件夹,并且满足了mod_wsgi的pip安装但是,尽管消息相同,但似乎这里的这个错误与Github上解决的错误不同。
0赞
Waly
4/2/2020
在 readthedocs.org/projects/modwsgi/downloads/pdf/develop 的 mod_wsgi 文档中提到了一些关于手动复制文件以成功安装的内容,我也在 Github 上看到了 GrahamDumpleton 对此的一些评论,但是:我不确定这是否是这里的问题,我不明白我需要复制哪些文件以及在哪里复制。我真的需要理解这一点并让它运行起来,
0赞
Steven Graham
4/3/2020
输出是什么: ?echo %MOD_WSGI_APACHE_ROOTDIR%
0赞
Waly
4/3/2020
嗨,史蒂文,我试图回显目录,它又回来了 - 我希望我能解决这个问题,因为我想尝试测试服务器%MOD_WSGI_APACHE_ROOTDIR%
0赞
Waly
4/3/2020
好的,当我尝试按照您上面的建议使用正斜杠时,然后再次尝试,我得到了目录的清晰路径:,但是,现在我尝试再次安装mod_wsgi正确的目录中,但它通知我,我怎样才能卸载它以正确重新安装它?再次感谢您的帮助echo %MOD_WSGI_APACHE_ROOTDIR%
C:/xampp/apache/
Requirement already satisfied: ..
1赞
AzureIP
4/12/2021
#2
看起来您可能需要使用正斜杠设置 MOD_WSGI_APACHE_ROOTDIR 环境变量。 例:
"C:/foo/bar/apache"
若要应用此更改,需要重新安装 mod_wsgi:
pip uninstall mod_wsgi
pip install mod_wsgi
评论