【问题标题】:Finding a file to modify in a trac plugin (trac-git)在 trac 插件 (trac-git) 中查找要修改的文件
【发布时间】:2012-06-15 16:19:56
【问题描述】:

我最近第一次在 Windows 上安装了 Trac。设置完所有内容后,尝试浏览 GIT 存储库中的源时出现此错误:

Trac detected an internal error:
WindowsError: (5, 'Access is denied')

看起来好像很多人都没有遇到过这个问题,因为这个问题的唯一票证错误没有得到很多回应,但是有人建议我修改文件 PyGIT.py。进一步研究我自己的异常,我发现:

    return gen.next()
    yield historian

    if p:
        p[0].stdout.close()
        p[0].terminate()    # <-- This line highlighted as the problem
        p[0].wait()

def last_change(self, sha, path, historian=None):
    if historian is not None:
        return historian(path)

现在我不确定,但我读到这与 windows 如何处理导致错误的p[0].terminate() 有关,有人建议通过将其更改为忽略异常:

try:
    p[0].terminate()
except WindowsError:
    pass

天气好不好,我不知道。但我想知道的是 - 这个 PyGIT.py 文件到底在哪里?我所要走的只是路:

build/bdist.win32/egg/tracext/git/PyGIT.py

我认为这不是已编译文件或其他内容的一部分是否正确?我安装了将代码运行为 .egg 的插件

如果有人可以帮我一把,我只想看看我是否可以修改文件!

谢谢

【问题讨论】:

    标签: python windows compiler-errors trac


    【解决方案1】:

    如果您将插件安装为 .egg 文件,那么您可能没有源代码。您下载 .egg 文件的网站也应该有其存储库的 URL。只需查看源代码的副本,进行建议的修改,然后使用 python setup.py bdist-egg 重新构建 .egg。

    【讨论】:

    • 我确实认为egg已经编译了,但是错误页面如何显示导致问题的代码和行号?
    • @ing0- 我对 egg 格式的细节不是很熟悉,但我相信它保留了足够的关于原始代码的信息来显示类似的调试消息。不过我不知道你是否可以从预编译的egg中提取源代码。
    • 嗯,好的。我现在已经设法用这些更改构建了我的新蛋,尽管我的本地机器有 py2.7 并且服务器运行了 2.6,所以我只是把它整理出来。不过感谢您的帮助!
    • egg 文件只是一个带有重命名扩展名的 zip 文件。虽然我不确定您是否可以更改文件并将其压缩备份。我会尝试并报告。
    • 是的,工作得很好。只需确保在进行更改后重新启动 trac,它就会正常工作。
    猜你喜欢
    • 2011-01-14
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    • 2010-09-16
    相关资源
    最近更新 更多