2009-07-16 30 views
2

私の主な目標はthisを起動して実行することです。Windows上のSubversionフックでPythonスクリプトを使用する

Tortoise SVNでコミットするとMyフックが呼び出されますが、Python "%〜dp0trac-post-commit-hook.py" -p "%TRAC_ENV%" - この行になると常に終了します。 r "%REV%" || EXIT 5

pythonスクリプトの呼び出しを簡単なPythonスクリプトで置き換えても、まだ動作しないので、Pythonの呼び出しではなくスクリプト自体に問題があると想定しています。

私はPYTHON_PATH変数を設定しようとしましたが、%PATH%にPythonを含めるように設定しました。

私はtracを実行しているので、Pythonはサーバ自体で動作しています。ここで

は、いくつかの背景情報です:Pythonのは、Windowsサーバーおよびスクリプトにインストールされている

  • は、ローカルマシンから呼び出されるので

    %のTRAC_ENVの%のEXIT存在していない場合は3

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

  • 01私は(それはXでそれらを指すようであり、Yは、CおよびEドライブではないドライブ)マッピングされたネットワークドライブにそれらを設定

    • Pythonスクリプトは、どこからでもコマンドラインから呼び出すことができるポイントがない限り

    は失敗しますサーバーに関係なく、PATH変数を正しく設定する必要があります。

pythonスクリプトを外部から呼び出す際に問題があるようですが、どのようにこのアクセス許可を変更するかについてはわかりません。

ありがとうございます。

答えて

3

アカウントに次のものを取る:

  • ネットワークドライブのマッピングとsubst マッピングは、ユーザー固有のものです。 ユーザアカウント のドライブが存在し、その下でsvnサーバが であることを確認してください。
  • subversionフックスクリプトはセキュリティ上の理由でrun without any environment variables being setであり、%path%もありません。 という絶対パスで実行可能なpythonを呼び出します。 c:\python25\python.exe
+0

ありがとうございました。 %path%が設定されていないという事実はありませんでした。マップされたドライブに行き、特定のDLLを見つけることができなかったと私に教えてくれたPythonを呼び出してみました。 %path%が設定されていないので、明らかに利用できなかったものです。 今はsciptが呼び出されていますが(それにはまだいくつかの問題があります)、すぐにソートする必要があります。 もう一度ありがとうございます。 – going

関連する問題