2016-06-15 7 views
10

Google App Engineを使用してダーツサーバーのサンプルをデプロイしようとしています。Google AppEngineにデプロイしようとするとDev_appserver.pyエラーが発生する

Traceback (most recent call last): 
    File "C:\Users\jkrie\AppData\Local\Google\Cloud SDK\google-cloud- sdk\bin\dev_appserver.py", line 11, in <module> 
    import bootstrapping.bootstrapping as bootstrapping 
    File "C:\Users\jkrie\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin\bootstrapping\bootstrapping.py", line 9, in <module> 
    import setup 

ImportError: No module named 'setup'

:しかし、私はこのPythonスクリプトを実行すると

dev_appserver.py

私も、私はこのエラーを取得する

dev_appserver.py --custom_entrypoint "dart bin/server.dart {port}" app.yaml

を試してみた(最新のPythonのバージョンでは、3.5がインストールされています)私もsetuptoolsをインストールしました。 Google Cloud SDKのインストールに何か問題があると想定する必要がありますが、実際に何がわからないのですか。 python 3.5も新しく、古いバージョンを試す必要がありますか?

答えて

3

確かにあなたは当分の間、標準のApp Engine環境のためのPython 2を使用する必要があります。

Python 3がインストールされている場合は、mkvirtualenv google --python=$(which python2)を使用してPython 2を使用してvirtualenvを作成し、その環境でdev_appserver.py .を実行できます。

これは私がpython2.9とpython3.6の両方をインストールするので、私はこの問題を持っていた

0

をpython2するためにあなたにダウングレードすることの手間やシンボリックリンクのpythonを節約できます。 アンインストールのない簡単な方法python3は、GAEを使用しているときに、環境変数でpython3パスを削除するだけです。 GAEで終わったらそれらを追加してください。

0

私は非常に単純なpython35アプリケーションで同じ問題を抱えていました(今年は1年後です) 動作するpython27仮想環境を作成しましたが、より多くの回避策が必要でした。

最も簡単な方法は、あなたが一番下にこれを持って確保し、ちょうどシェルのコマンドライン上でpython applicationmodule.pyを実行することです:あなたはdev_appserver.pyを使用して実行したい場合は
if __name__ == '__main__': # This is used when running locally. Gunicorn is used to run the # application on Google App Engine. See entrypoint in app.yaml. app.run(host='127.0.0.1', port=8080, debug=True)

、私は次のことを実行するために必要な発見しましたdev_appserver.py app.yaml --custom_entrypoint ./applicationmodule.py

この場合、applicationmodule.pyif __name__ == '__main__':コードが含まれていないことを確認してください。あなたはこれを持っている場合は、それが再び同じタスクを起動し、ポート8080

の競合について不平を言うこれは、より多くのapp.yaml entrypoint:エントリのように見える--custom_entrypointパラメータを持っている他の回答は異なっています。

実行中dev_appserver.pyapplicationmoduleの実行に関する不平を言います。py(私は正確に忘れています)ので、chmod 777と私は#!をローカルPython実行可能ファイルに追加しました。両方実行した後に動作しましたが、それがchmodかそれとも#!だったかはわかりません。

2

Googleはそれがデフォルトとしてのpython3を使用するOSと互換性の彼らのツールになるだろう

#!/usr/bin/env python2 

代わりの

#!/usr/bin/env python 

でファイルを付加できます。ダン・cornilescu @として

1

は、あなたは、Pythonの多版と環境の場合、あなたはイースリーのPython 2.7バージョンを使用してdev_appserver.pyを実行するためにPipenvを使用することができGAE標準環境のサポートにのみPython2.7

を言いました。あなたは、Python 2.7

# pipenv install --twoo 

でプロジェクトフォルダ内のあなたは、このコマンドを使用する必要がありますdev_appserver.py

# pipenv run dev_appserver.py app.yaml 

pipenvを実行する必要があるたびにpipenv環境を作成することができhave installed pipenv globalyあなたの後

ますPython 2.7を使用してコードを実行します。 ;-)

関連する問題