1

タスク/欠陥の追跡にTracを使用しており、状況は十分に順調に進んでいますが、今朝は500エラーが発生し始めました。Apache error_logを見ると、次のようなスタックトレースが得られます。

PythonHandler trac.web.modpython_frontend:
  ExtractionError:ファイルをeggキャッシュに抽出できません

Pythoneggにファイルを抽出しようとしたときに次のエラーが発生しました
キャッシュ:

  [Errno 13]許可が拒否されました:'/.python-eggs'

Pythonのeggキャッシュディレクトリは現在、次のように設定されています。

  /.python-eggs

おそらく、あなたのアカウントにはこのディレクトリへの書き込みアクセス権がありませんか?あなたはできる
PYTHON_EGG_CACHE環境を設定してキャッシュディレクトリを変更します
アクセス可能なディレクトリを指す変数

そのため、PYTHON_EGG_CACHEを/ srv / trac/plugin-cacheに明示的に設定しました。Apacheを再起動しました。それでも同じエラーが発生します(「eggcache directory current set to:\ n \ n /.python_eggs。」と表示されます)

どうすればいいですか?Tracを再インストールするために行う最も簡単なことはありますか?そのルートに行く場合、既存のデータを失わないようにするためにどのような手順を実行する必要がありますか?

4

5 に答える 5

5

バグ追跡システムによると、これは 0.11 で修正されるはずです。

そうでない場合は、設定ファイルで SetEnv を実行しても機能しないため、環境変数を apache に渡すようにしてください。のようなものを追加する

export PYTHON_EGG_CACHE=/tmp/python_eggs

apache の起動に使用するスクリプトが機能するはずです。

于 2008-10-18T17:19:00.750 に答える
1

今年初めに Trac 10.4 から 0.11 にアップグレードしたときに、同じ問題に遭遇しました。この問題が突然発生したのは、何かが変わったに違いありません。更新された Python または Apache のインストールですか?

これを解決しようとしたすべての順列を覚えているわけではありませんが、SetEnv PYTHON_EGG_CACHE /.python-eggs777 のアクセス許可を持つ /.python-eggs を使用して作成する必要がありました。これは最善の解決策ではないかもしれませんが、問題は解決しました。

根本的な原因が何であるかを調査したことはありません。agnulが言うように、これはその後の Trac リリースで修正される可能性があります。

于 2008-10-18T17:25:16.807 に答える
1

私は多くの戦いに取り組んできPYTHON_EGG_CACHEましたが、それを設定する正しい方法がわかりませんでした-Apacheのenvvars、httpd.conf(SetEnvおよびPythonOption)、何も機能しませんでした。最後に、すべての python 卵を手動で解凍しましたが、とにかく 2 つまたは 3 つしかありませんでした。問題はなくなりました。そもそもなぜ人々が数キロバイト以下のファイルを圧縮するのか理解できませんでした...

于 2008-10-18T18:40:52.193 に答える
0

私も同じ問題を抱えていました。私の場合、ディレクトリがなかったので、それを作成してapacheユーザー(centos 4.3ボックスのapache)にchownしました。次に、ディレクトリに対する読み取り/書き込み権限があることを確認しました。ディレクトリを所有するグループにapacheユーザーが含まれている場合は、ディレクトリにrw権限を付与することで解決できます。単純なpsaux| grep httpdは、サーバーが実行されているアカウントがわからない場合に表示されます。ディレクトリを見つけるのに問題がある場合は、「隠し」ディレクトリであるため、lsコマンドの-aを覚えておいてください。

于 2008-10-20T17:28:49.313 に答える
0

サイト構成で PythonOption ディレクティブを使用しても機能しないことがわかりましたが、SetEnv は機能しました。ただし、環境変数ルートも機能します。

于 2009-01-02T05:39:07.757 に答える