我试图让 Mercurial 托管在 IIS 7.5(Win 7 x64)上,并一直遇到我似乎无法修复的错误。
我在这里遵循了 Jeremy Skinners 教程:IIS7 上的 Mercurial
而不是 hgwebdir,我使用 hgweb,因为我使用 Mercurial 1.7.2
我已经安装并工作了 python。我在http://localhost/hg -> 在目录 c:\inetpub\wwwroot\hg 中为 Mercurial 设置了一个 IIS 应用程序
我将模板目录放入 c:\inetpub\wwwroot\hg 我将 library.zip 文件解压缩到 c:\inetpub\wwwroot\hg
当我访问该站点时,我收到一个错误 -> File "C:\inetpub\wwwroot\hg\hgweb.cgi",第 15 行,来自 mercurial import demandimport;demandimport.enable() ImportError: No module named mercurial".
在搜索此错误时,我找到了以下答案:https ://stackoverflow.com/questions/2123798/
按照接受的答案,我将 hgweb.cgi 更改为如下所示:
#!c:/python/python26/python.exe
#
# An example hgweb CGI script, edit as necessary
# See also https://www.mercurial-scm.org/wiki/PublishingRepositories
# Path to repo or hgweb config to serve (see 'hg help hgweb')
config = "/path/to/repo/or/config"
# Uncomment and adjust if Mercurial is not installed system-wide:
import sys; sys.path.insert(0, "c:\inetpub\wwwroot\hg")
# Uncomment to send python tracebacks to the browser if an error occurs:
#import cgitb; cgitb.enable()
from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb import hgweb, wsgicgi
application = hgweb('c:\inetpub\wwwroot\hg\hgweb.config')
wsgicgi.launch(application)
这样做之后,我仍然得到同样的错误。我不知道还能做什么。任何帮助将不胜感激。
Edi 1: c:\inetpub\wwwroot\hg 根据请求的屏幕截图: