【问题标题】:Mercurial CGI (hgweb.cgi) failsMercurial CGI (hgweb.cgi) 失败
【发布时间】:2011-07-16 04:39:15
【问题描述】:

我在 vm 上运行的 Win 2k8 R2 上安装了 Mercurial 1.8.1、Python 2.6.6。我曾尝试从 msi、源代码和使用 tortisehg 安装。命令行 Hg 工作正常,但运行 hgweb.cgi 时出现同样的错误:

回溯(最近一次通话最后): 文件“.\hgweb.cgi”,第 17 行,在 应用程序= hgweb(配置) 文件“mercurial\hgweb\__init__.pyc”,第 26 行,在 hgweb 文件“mercurial\hgweb\hgwebdir_mod.pyc”,第 61 行,在 __init__ 文件“mercurial\hgweb\hgwebdir_mod.pyc”,第 70 行,刷新 __init__ 中的文件“mercurial\ui.pyc”,第 35 行 __getattribute__ 中的文件“mercurial\demandimport.pyc”,第 75 行 _load 中的文件“mercurial\demandimport.pyc”,第 47 行 文件“mercurial\util.pyc”,第 576 行,在 _demandimport 中的文件“mercurial\demandimport.pyc”,第 85 行 文件“mercurial\windows.pyc”,第 21 行,在 __getattribute__ 中的文件“mercurial\demandimport.pyc”,第 75 行 _load 中的文件“mercurial\demandimport.pyc”,第 47 行 文件“mercurial\osutil.pyc”,第 12 行,在 文件“mercurial\osutil.pyc”,第 10 行,在 __load ImportError:DLL 加载失败:找不到指定的模块。

我在 SO 和其他地方找到的其他答案指出我尝试从源代码安装,将纯 osutil 放入安装中,或安装旧版本。我都试过了。

这尤其令人沮丧,因为我有其他类似的非 vm 机器运行良好,但无法找到断开连接。

想法?

【问题讨论】:

  • 我也遇到了同样的问题,你找到解决办法了吗?我花了很多时间,试图让它工作......

标签: python mercurial windows-server-2008


【解决方案1】:

使用以下系统配置时我遇到了同样的错误

  • Python-2.6.6 安装为 msi
  • mercurial-1.8.2-x86 安装为 msi
  • IIS7

我简单地解决了这个问题:

  1. Python 已提前安装
  2. 卸载 Mercurial msi 包
  3. mercurial website 下载并安装“Mercurial-1.8.2 (32-bit py2.6)”安装程序,该安装程序标记为“推荐用于 hgweb 设置”。
  4. 将 C:\Python26\Lib\site-packages\mercurial\ 的内容复制到 IIS7 网站设置中使用的目录。

到目前为止,一切正常。希望这会有所帮助。

【讨论】:

  • 确认! msi 包为我提供了具有相同堆栈跟踪的相当一致的重现。通过切换到 Mercurial Python 安装程序,它现在就像一个魅力 :)
  • 我很高兴我的解决方案仍然可以帮助人们。
  • 也为我工作,使用:第 1 步)安装 Python 2.7.4(64 位)第 2 步)安装 mercurial-2.6.win-amd64-py2.7.exe 测试:python hgweb .cgi
【解决方案2】:

每当我收到少于描述性的错误消息告诉我系统级别发生了什么事但什么时,我使用Sysinternals' Procmon 告诉我注册表和文件系统发生了什么。它很冗长,让过滤器只显示感兴趣的过程需要一些学习,但您可以将结果导出到 Excel 并略读它们以获得可疑的结果。当然,要特别注意失败。

试一试,看看正在搜索什么 DLL。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    相关资源
    最近更新 更多