2017-07-03 14 views
2

dev_appserver.pyでローカル開発サーバーを起動すると、次のエラーが発生します。起動時にdev_appserver.pyが失敗する

$ dev_appserver.py app.yaml 
INFO  2017-07-03 06:51:09,662 devappserver2.py:116] Skipping SDK update check. 
Traceback (most recent call last): 
    File "/home/daniel/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 103, in <module> 
    _run_file(__file__, globals()) 
    File "/home/daniel/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 97, in _run_file 
    execfile(_PATHS.script_file(script_name), globals_) 
    File "/home/daniel/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 381, in <module> 
    main() 
    File "/home/daniel/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 369, in main 
    dev_server.start(options) 
    File "/home/daniel/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 176, in start 
    configuration.modules[0].application_root, datastore_emulator_host) 
    File "/home/daniel/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/api_server.py", line 524, in create_api_server 
    appidentity_oauth_url=options.appidentity_oauth_url) 
    File "/home/daniel/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/api_server.py", line 699, in setup_stubs 
    oauth_url=appidentity_oauth_url) 
    File "/home/daniel/google-cloud-sdk/platform/google_appengine/google/appengine/api/app_identity/app_identity_stub.py", line 198, in Create 
    import six 
    File "/home/daniel/google-cloud-sdk/platform/google_appengine/lib/six-1.9.0/six/__init__.py", line 825, in <module> 
    from . import test_six 
    File "/home/daniel/google-cloud-sdk/platform/google_appengine/lib/six-1.9.0/six/test_six.py", line 105, in <module> 
    @py.test.mark.parametrize("item_name", 
AttributeError: 'NoneType' object has no attribute 'parametrize' 

バージョン:

$ gcloud --version 
Google Cloud SDK 161.0.0 
app-engine-python 1.9.55 
beta 2017.03.24 
bq 2.0.24 
core 2017.06.26 
gcloud 
gsutil 4.26 

答えて

5

gcloud-sdkコンポーネントapp-engine-python==1.9.55 vendored six==1.9.0ライブラリがpytestに依存するように思われます。

問題は、インストールすることで固定されているpytest

$ pip install pytest 

参照してください。問題:これは、現在のバージョンである< 2.2.0をローカルにインストールpytestバージョンを、持っているユーザーのための問題であるべきhttps://issuetracker.google.com/issues/62980070

3

3.1.3。 (a)pytestがインストールされていないか、(b)pytest> = 2.2.0がインストールされている場合、この問題は表示されません。スタックトレースの末尾にある@ py.test.mark.parametrize()デコレータは、2.2.0で導入されました。

次のApp Engine SDKリリースで利用できるpytest < 2.2.0のユーザーに対してこれを解決するパッチを提出しました。その間、ユーザーはpytestバージョンをローカルでアップグレードすることができ、問題はなくなるはずです。

+0

pytestのローカルインストールは、app-engine-pythonでは必須ではありません。 App EngineとCloud SDKには、サードパーティのライブラリがバンドルされています。これらのライブラリの1つに、import文の周りにtry/catchブロックがあり、pytest> = 2.2.0を必要とするいくつかのpytestロジックがありました。 パッチを適用すると、pytest <2.2.0でapp-engine-pythonが動作します。 –

関連する問題