PYTHON_EGG_CACHEに関連するエラーが発生し始めるTracインストールをどのように修正しますか?
-
03-07-2019 - |
質問
タスク/欠陥の追跡にTracを使用してきましたが、物事は十分に順調に進んでいましたが、今朝は500エラーを処理し始めました。 Apache error_logを見ると、最終的にスタックトレースが得られます。
PythonHandler trac.web.modpython_frontend: ExtractionError: Can't extract file(s) to egg cache The following error occurred while trying to extract file(s) to the Python egg cache: [Errno 13] Permission denied: '/.python-eggs' The Python egg cache directory is currently set to: /.python-eggs Perhaps your account does not have write access to this directory? You can change the cache directory by setting the PYTHON_EGG_CACHE environment variable to point to an accessible directory
PYTHON_EGG_CACHEを明示的に/ srv / trac / plugin-cacheに設定します。 Apacheを再起動しました。それでも同じエラーが表示されます(" egg cache directory current set to:\ n \ n /.python_eggs.")
どのようにすればよいですか? Tracを再インストールする最も簡単なことは何ですか?そのルートに行く場合、既存のデータが失われないようにするためにどのような手順を踏む必要がありますか?
解決
バグ追跡システムに従って、0.11で修正する必要があります。
そうでない場合は、環境変数をapacheに渡してみてください。設定ファイルでSetEnvを実行しても機能しないからです。
のようなものを追加するexport PYTHON_EGG_CACHE=/tmp/python_eggs
Apacheの起動に使用するスクリプトが機能するはずです。
他のヒント
今年初めにTrac 10.4から0.11にアップグレードしたときに同じ問題に遭遇しました。この問題が突然現れたために何かが変更されたに違いありません-更新されたPythonまたはApacheインストールですか?
これを解決しようとした順列のすべてを覚えていませんが、最終的に SetEnv PYTHON_EGG_CACHE /.python-eggs
を使用し、/。python-eggsを777権限で作成する必要がありました。これは最善の解決策ではないかもしれませんが、問題は解決しました。
根本的な原因を調査したことはありません。 agnul によると、これは後続のTracリリースで修正された可能性があります。
PYTHON_EGG_CACHE
との多くの戦いに取り組みましたが、それを設定する正しい方法がわかりませんでした-apacheのenvvars、httpd.conf(SetEnvおよびPythonOption)、何も機能しませんでした。最終的に、私はすべてのpythonの卵を手動で解凍しましたが、とにかく2つまたは3つしかありませんでした-問題はなくなりました。地球上の人々が最初に数キロバイト以下のファイルを圧縮する理由を理解できませんでした...
同じ問題がありました。私の場合、ディレクトリはそこになかったので、作成してapacheユーザー(centos 4.3ボックスのapache)にchownしました。次に、ディレクトリに対する読み取り/書き込み権限があることを確認しました。ディレクトリを所有するグループにapacheユーザーが含まれている場合は、ディレクトリにrw権限を与えることで対応できます。簡単なps aux | grep httpdを使用すると、サーバーがどのアカウントで実行されているかわからない場合に表示されます。ディレクトリを見つけるのに問題がある場合は、lsコマンドの-aを覚えておいてください。ディレクトリ。
サイトの構成でPythonOptionディレクティブを使用すると did しなかったが、SetEnvはできたことがわかりました。環境変数のルートも動作します。