【Mac】 VSCodeでPython3を使用する

[10秒でわかる要約]

VSCodeでCodeRunnerの設定をいじったらPython2からPython3に無事変えられた

皆さんはどんなプログラミング言語を使っているでしょうか。C++C#PythonRuby、Processing......かくいう私は主にC++を使用しているのですが、PythonのDecimalや機械学習に特化した様々なモジュールが恋しくなることが度々あります。そこでウォーミングアップにとABC098-Aを解こうとしました。

a, b = map(int, input().split())
print(max(a + b, a - b, a * b))

すると

File "~/ABC098-A.py", line 1, in <module>
    a,b = map(int,input().split())
AttributeError: 'int' object has no attribute 'split'

??????

調べてみるとどうやらPython2とPython3の記法の違いによっても発生するみたいです。いやいや自分はちゃんとPython3をインストールしていますから......

import sys
print(sys.version)

>2.7.16 (default, Jun  5 2020, 22:59:21) 
>[GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.29.20) (-macos10.15-objc-on darwin)

いやいやいやいや

$python
>Python 2.7.16 (default, Jun  5 2020, 22:59:21) 

$python3
>Python 3.7.2 (v3.7.2:9a3ffc0492, Dec 24 2018, 02:44:43) 

ふむふむ一応Python3はインストールされているけれどつかわれていない、と(Macの場合デフォルトでPython2がインストールされています。サポート終了が言われているんだからPython3に移行してもらいたいところですが......)

その後30分ほどGoogleと格闘しつつキーボードを叩いていると、しまいにはPythonのみならずC++さえも動かなくなってしまいました。これはもう爆破するしかないのでは......そう思い始めた時一縷の光が!

どうやら code-runner.executorMapが破損しているらしい

VSCodeの設定からcode runnerで検索してsettings.json を開くと......

"code-runner.executorMap": {
    "python": "python"
}

もしかしなくてもこれが問題なのでは......?

Finderを開いて /usr/local/bin に移動してPathが通っていることを確認します。 f:id:kanade_2001:20210111111307p:plain

そして settings.json

    "python": "python3.7"

にすると......

f:id:kanade_2001:20210111111609p:plain f:id:kanade_2001:20210111111723p:plain

通りました!

以上冒頭一行の内容を引き伸ばし引き伸ばしして書いた記事でした。お役に立てれば幸いです。

[p.s.] ずっとC++で書いてきたので変数の型を指定しなかったり;を打たなかったり最後にreturn 0;を書かないのに違和感しか感じない......