

<https://cloud.google.com/sdk/docs/quickstart-debian-ubuntu>

Ubuntu14.04の環境で、上記のチュートリアルにしたがってGoogle Cloud SDKのインストールをしました。

目的は、GAEをgoで動かすこと。またその開発をUbuntu14.04上ですることです。

SDKのインストールは特に問題なく進められたのですが、  
<https://cloud.google.com/appengine/docs/standard/go/quickstart#test_the_application>  
こちらの手順の  
dev_appserver.py app.yaml

をしようとすると、以下のエラーが出てしまい実行できません。

$python -V  
Python 2.7.9  
$dev_appserver.py app.yaml  
ERROR: Python 3 and later is not compatible with the Google Cloud SDK. Please
use Python version 2.7.x.

If you have a compatible Python interpreter installed, you can use it by
setting  
the CLOUDSDK_PYTHON environment variable to point to it.

pythonのデフォルトのバージョンは2.7.9にしたのですが、  
別にpython3が入っているために競合しているのかもしれません。  
$which python3  
/home/ludwig125/.pyenv/shims/python3

エラーの内容にあるとおり、CLOUDSDK_PYTHONをpython2.7にしたのですが、変わりませんでした。  
$which python2.7  
/usr/local/bin/python2.7  
$export CLOUDSDK_PYTHON="/usr/local/bin/python2.7"  
↓  
これでも同様  
ERROR: Python 3 and later is not compatible with the Google Cloud SDK. Please
use Python version 2.7.x.

どなたか、解決方法をご教示いただけないでしょうか？


CC BY-SA 4.0
2018-08-10T17:25:11.877
47429
2018-08-17T05:57:52.067
29684
question
google-cloud
dev_appserver.py実行時にPython 3 and later is not compatible が出る


コメントありがとうございます。

[/usr/lib/google-cloud-sdk/platform/google_appengine/demos/go/helloworld]
$python dev_appserver.py app.yaml  
/usr/local/bin/python2: can't open file 'dev_appserver.py': [Errno 2] No such
file or directory  
[/usr/lib/google-cloud-sdk/platform/google_appengine/demos/go/helloworld] $

/usr/local/bin/python2から dev_appserver.pyが見つからないと出ていますね・・・

（別のマシンから送信したためアイコンが変わっています）

【追記】  
パスを指定すれば実行できました改めて記載しておきます。  
python2での実行方法

[code]

        $python2 /usr/bin/dev_appserver.py app.yaml 
    
[/code]


CC BY-SA 4.0
2018-08-11T01:39:20.623
47435
2018-08-17T05:57:52.067
2018-08-17T05:57:52.067
-1
29684
47429
answer


`python3`のディレクトリから判断すると`pyenv`を使っているようですが、`pyenv`は、pythonのコマンドをshim実行ファイルで横取りして、どのPythonのバージョンで実行するかを決めるため問題が発生していると思われます。

`pyenv`は、`~/.profile`等に以下のような設定をして`~/.pyenv/bin`へのパスを通すので、`pyenv`を使うとき以外はそれをコメントアウトして`~/.pyenv/bin`へのパスを外すと正常に動作すると思われます。

[code]

    export PYENV_ROOT=\${HOME}/.pyenv
    export PATH=\${PYENV_ROOT}/bin:\${PATH}
    
[/code]

ただし、他にpythonで作成したアプリケーションがあって`pyenv`を使って動いているとそちらに影響が出ますが、Pythonのバージョン管理を副作用の多い`pyenv`を捨てて公式の`pipenv`に変更したほうがいいと思います。


CC BY-SA 4.0
2018-08-11T03:38:10.980
47440
2018-08-11T08:05:36.073
2018-08-11T08:05:36.073
15171
15171
47429
answer