1

Appengine SDK バージョン 1.7.6 を使用しようとしましたが、致命的なエラー (以下で概説したものと同じ) が発生したため、アプリが正常に動作する 1.7.5 に戻しました。ただし、1.7.5 で実験的な devappserver を実行しようとすると、1.7.6 で見たエラーが再発します。Win 7 マシンで Python 2.7 を実行しています。AppEngine の標準インストール選択。

これらのエラー メッセージは、PYTHON_EGG_CACHE に関連する権限を参照していますが... - 1) 「古い」dev_appserver では発生しません - 2) アプリケーションは、記載されている場所にファイルを正常に抽出できます。実際、私は PYTHON_EGG_CACHE のパスを別の場所に変更し、広く開いた許可を与えましたが、それでもエラーを受け取りました。- 3) サイト パッケージに pyyaml があるため、一時的な抽出が必要な理由がわかりません。

数回のリリースで新しい devappserver を使用することを余儀なくされるため、これに対する解決策を探す助けをいただければ幸いです。

以下のコマンド ライン エラー ダンプ:

python "C:\Program Files (x
86)\Google\google_appengine\devappserver2.py" .
WARNING  2013-03-25 19:10:41,029 devappserver2.py:497] devappserver2.py is curre
ntly experimental but will eventually replace dev_appserver.py in the App Engine
 Python SDK. For more information and to report bugs, please see: http://code.go
ogle.com/p/appengine-devappserver2-experiment/
INFO     2013-03-25 19:10:41,171 appcfg.py:618] Checking for updates to the SDK.

WARNING  2013-03-25 19:10:44,525 simple_search_stub.py:975] Could not read searc
h indexes from c:\users\ben\appdata\local\temp\appengine.dev~upskillme-main.Ben\
search_indexes
INFO     2013-03-25 19:10:44,539 api_server.py:148] Starting API server at: http
://localhost:49302
INFO     2013-03-25 19:10:44,555 dispatcher.py:96] Starting server "default" run
ning at: http://localhost:8080
INFO     2013-03-25 19:10:44,571 admin_server.py:112] Starting admin server at:
http://localhost:8000
Traceback (most recent call last):
  File "C:\Program Files (x86)\Google\google_appengine\_python_runtime.py", line
 150, in <module>
    run_file(__file__, globals())
  File "C:\Program Files (x86)\Google\google_appengine\_python_runtime.py", line
 146, in run_file
    execfile(script_path, globals_)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\de
vappserver2\python\runtime.py", line 39, in <module>
    from google.appengine.ext.remote_api import remote_api_stub
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\ext\remo
te_api\remote_api_stub.py", line 75, in <module>
    import yaml
  File "C:\Program Files (x86)\Google\google_appengine\lib\yaml-3.10\yaml\__init
__.py", line 14, in <module>
    from cyaml import *
  File "C:\Program Files (x86)\Google\google_appengine\lib\yaml-3.10\yaml\cyaml.
py", line 5, in <module>
    from _yaml import CParser, CEmitter
  File "C:\Python27\lib\site-packages\pyyaml-3.10-py2.7-win32.egg\_yaml.py", lin
e 7, in <module>
  File "C:\Python27\lib\site-packages\pyyaml-3.10-py2.7-win32.egg\_yaml.py", lin
e 4, in __bootstrap__
  File "C:\Python27\lib\site-packages\pkg_resources.py", line 882, in resource_f
ilename
    self, resource_name
  File "C:\Python27\lib\site-packages\pkg_resources.py", line 1351, in get_resou
rce_filename
    self._extract_resource(manager, self._eager_to_zip(name))
  File "C:\Python27\lib\site-packages\pkg_resources.py", line 1406, in _extract_
resource
    manager.extraction_error()  # report a user-friendly error
  File "C:\Python27\lib\site-packages\pkg_resources.py", line 928, in extraction
_error
    raise err
pkg_resources.ExtractionError: Can't extract file(s) to egg cache

The following error occurred while trying to extract file(s) to the Python egg
cache:

  [Error 5] Access is denied: 'C:\\Users\\Ben\\AppData\\Roaming\\Python-Eggs\\py
yaml-3.10-py2.7-win32.egg-tmp\\_yaml.pyd'

The Python egg cache directory is currently set to:

  C:\Users\Ben\AppData\Roaming\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.

Exception in thread Thread-4:
Traceback (most recent call last):
  File "C:\Python27\lib\threading.py", line 551, in __bootstrap_inner
    self.run()
  File "C:\Python27\lib\threading.py", line 504, in run
    self.__target(*self.__args, **self.__kwargs)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\de
vappserver2\server.py", line 1045, in _loop_adjusting_instances
    self._adjust_instances()
4

1 に答える 1

2

誰かが同じ問題を抱えている場合、私にとってうまくいった解決策は次のとおりです。

  • python27 site-packages ディレクトリの PyYAML-3.10-py2.7-win32.egg を site-packages 内の新しいディレクトリに解凍します。名前の競合を避けるために、NEWPyYAML-3.10-py2.7-win32.egg のようなディレクトリ名に解凍する必要があります。
  • 元の卵の名前を変更します。別のもの (例: OLDPyYAML-3.10-py2.7-win32.egg)。
  • 新しいディレクトリの名前を PyYAML-3.10-py2.7-win32.egg に変更します

卵へのすべての参照は、解凍された python ファイルを含むサイト パッケージ内のディレクトリを実際に指すようになります。新しい devappserver はこれで動作できるはずです。

Windows で卵を解凍する方法がわかりませんか? ここを参照してください (Winzip または同様のものがインストールされていることを前提としています): http://mail.python.org/pipermail/chicago/2007-July/002301.html

于 2013-03-26T06:07:13.873 に答える