0

PHP による Python スクリプトの呼び出し、またはそのスクリプトの呼び出しに問題がありますが、MySQLdb をインポートしようとすると途中で停止します

このガイドに従って、私のユーザー .bash_profile に追加した後、PYTHON_EGG_CACHE に関連するエラーが発生し始める Trac インストールをどのように修正しますか?

export PYTHON_EGG_CACHE /var/www/html/path/cache

そしてhttpd.confへ

   AddHandler mod_python
   SetEnv PYTHON_EGG_CACHE /var/www/html/path/cache

まだこのエラー メッセージが表示されます。Web サーバーはまだ /root/.python-eggs にアクセスしようとしていますが、エクスポートした .python-eggs が新しいフォルダーに見つかりません。

Array
(
    [stdout] => 
    [stderr] => Traceback (most recent call last):
  File "/var/www/html/grndb/upscgenesearch/python/pythontest.py", line 4, in ?
    import MySQLdb
  File "build/bdist.linux-x86_64/egg/MySQLdb/__init__.py", line 19, in ?
  File "build/bdist.linux-x86_64/egg/_mysql.py", line 7, in ?
  File "build/bdist.linux-x86_64/egg/_mysql.py", line 4, in __bootstrap__
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 799, in resource_filename
    return get_provider(package_or_requirement).get_resource_filename(
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 1229, in get_resource_filename
    return self._extract_resource(manager, zip_path)
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 1249, in _extract_resource
    real_path = manager.get_cache_path(
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 880, in get_cache_path
    self.extraction_error()
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 846, in extraction_error
    raise err
pkg_resources.ExtractionError: Can't extract file(s) to egg cache

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

 [Errno 13] Permission denied: '/root/.python-eggs'

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

 /root/.python-eggs

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

4

1 に答える 1

0

tracのバグトラッカーまたはこの質問をご覧ください。何らかの方法で(ほとんどの場合、ディストリビューション/ OS固有の方法で)apacheの環境を修正するか、tracをアップグレードすることができるはずです。

更新:問題はTrac / Genshiiに固有のものではなく、各pythonアプリケーションがapache内で実行され、pythoneggをインストールしようとすると発生します。私はTracを使用してそれに遭遇し、Webサーバーの環境の編集を解決しました。このwikiページは、apacheのSetEnvディレクティブが機能しないことを明示的に示しています。を使用する必要がありますPythonOption。Webサーバーの環境を変更することに関しては、FreeBSDサーバー(内部で必要な環境変数を使用してスクリプトを追加するだけです/usr/local/etc/apache22/envvars.d)でそれを行いました。Ubuntu編集でも同じことができると思います/etc/apache2/envvars。別のディストリビューションを使用している場合は、apacheがどのようにパッケージ化されているかを確認し、それに応じて動作してください。

于 2011-04-15T13:37:11.867 に答える