2009-07-16 66 views
2

我的主要目标是让this启动并运行。在windows的颠覆钩子中使用python脚本

当我使用Tortoise SVN进行提交时,我的钩子被调用,但当我到达下面这行时它总是退出:Python“%〜dp0trac-post-commit-hook.py”-p“%TRAC_ENV%” - r“%REV%”|| EXIT 5

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

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

我已经启动并运行了,所以Python正在处理服务器本身。

下面是一些背景资料:

  • 安装Windows服务器和脚本的Python是从本地机器,使

    称为IF NOT EXIST%TRAC_ENV%EXIT 3

    SET PYTHON_PATH = X:\ Python26 IF NOT EXIST%PYTHON_PATH%EXIT 4

失败,除非我点它们设置到映射的网络驱动器(即在X点他们和Y驱动器不C和E的驱动器)

  • Python脚本可以在任何地方通过命令行从被叫服务器,不管驱动器如何,所以PATH变量应该被正确设置

看起来是一个调用外部的python脚本的问题,但不知道如何去改变这个权限。

在此先感谢。

回答

3

采取以下几点考虑:

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

谢谢wcoenen。 我没有得到%path%未被设置的事实。我终于意识到这一点,当我去映射的驱动器,并试图调用Python告诉我,它无法找到一个特定的DLL。由于未设置%path%,因此显然不可用。 现在scipt被调用(虽然它仍然有几个问题),应尽快排序。 再次感谢。 – going 2009-07-16 22:45:15