【问题标题】:Using python scripts in subversion hooks on windows在 Windows 上的 subversion 挂钩中使用 python 脚本
【发布时间】:2009-07-16 05:15:13
【问题描述】:

我的主要目标是让this 启动并运行。

当我使用 Tortoise SVN 进行提交时,我的钩子被调用,但是当我到达这一行时它总是退出: Python "%~dp0trac-post-commit-hook.py" -p "%TRAC_ENV%" -r "%REV%" || 5号出口

如果我尝试用任何简单的 Python 脚本替换对 Python 脚本的调用,它仍然不起作用,所以我假设这是对 Python 的调用而不是脚本本身的问题。

我尝试设置 PYTHON_PATH 变量并设置 %PATH% 以包含 Python。

我已经启动并运行了跟踪,因此 Python 正在服务器本身上运行。

这里是一些背景信息:

  • Python 安装在 Windows 服务器上,脚本是从本地机器调用的,所以

    如果不存在 %TRAC_ENV% 退出 3

    SET PYTHON_PATH=X:\Python26 如果不存在 %PYTHON_PATH% 退出 4

除非我将它们指向映射的网络驱动器否则失败(即指向 X 和 Y 驱动器而不是 C 和 E 驱动器)

  • 无论驱动器如何,都可以从服务器的命令行中的任何位置调用 Python 脚本,因此应正确设置 PATH 变量

在外部调用 python 脚本似乎是一个问题,但不确定我如何更改此权限。

提前致谢。

【问题讨论】:

    标签: python windows svn hook svn-hooks


    【解决方案1】:

    考虑以下几点:

    • 网络驱动器映射和subst 映射是用户特定的。确保 用户帐户的驱动器存在 svn 服务器在其下 正在运行。
    • 出于安全原因,subversion 钩子脚本是run without any environment variables being set,甚至不是%path%。称呼 带有一个的 python 可执行文件 绝对路径,例如 c:\python25\python.exe

    【讨论】:

    • 感谢 wcoenen。我没有得到没有设置 %path% 的事实。当我转到映射驱动器并尝试调用 Python 时,我终于意识到了这一点,它告诉我它找不到特定的 dll。这显然不可用,因为 %path% 未设置。现在正在调用 scipt(尽管它仍然存在一些问题)并且应该很快进行排序。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 2019-10-02
    • 1970-01-01
    • 2010-09-17
    相关资源
    最近更新 更多