UbuntuにVSCodeをインストールし、現在Mac上で使っている拡張機能をホイホイとインストールしていたら、「/bin/sh: 1: python: not found」というエラーに遭遇し、解決方法に日本語サイトがほとんどなかったので記録として解決方法を共有しておきます。
エラーの起こった環境ついて
エラーの起こった環境についても記録しておきます、どなたかに共通する点があるかもしれません。
・OS
「/bin/sh: 1: python: not found」というエラーが起こったOSはインストールしたてのUbuntu20.04です。
大体インストールしたて、というのが事の原因ですが、今回のエラーはおそらくプログラミング初心者のマシンにも当てはまるはずのことなので、解決の糸口になれば幸いです。
・アプリケーション
筆者のテキストエディタ環境はVSCodeです。
・問題の起こるであろう拡張機能
VSCode上で問題の起こるであろう拡張機能は「Code runner」です。
実行ボタンを押して出力に「/bin/sh: 1: python: not found」というエラーが出たため当記事に行き着いた方が多いのではないかな?と想像します。
上記全てが当てはまる方は次に紹介する設定ですぐに解決します。
環境が当てはまる方の解決方法
とりあえず、解決方法を提供しておきます。根本的な原因・解決方法は後日追記。
私のVSCode環境は日本語化してあるのでその点注意をしてください。
①Code runnerの設定を開く
サイドバーにあるテトリスの正方形ブロックになり損ねたようなデザインのアイコンが「拡張機能」に関する項目です。そこを押せば「インストール済み」の項目にCode runnerがあります。
②拡張機能の設定を選択
「Code runner」の歯車を押せば「拡張機能の設定」という項目があるのでそれを選択。
③setting.json で編集を選択
表示されたウィンドウの中ですが、一番下の方に「Code-runner: Executor Maps」という項目があるので、「setting.json で編集」を選択してください。
④開かれたテキストの中にある「”python”: “python -u”,」の項目を探す。
「settings.json で編集」を選択すれば、言語に関するコードがズラリと表示されるので、「”python”: “python -u”,」という項目を探しましょう。
⑤「”python”: “python -u”,」を「”python”: “python3 -u”,」に書き換える。
事の元凶はpythonが3系でなく、2系で実行されてしまっていることが原因なので、「”python”: “python -u”,」を「”python”: “python3 -u”,」に書き換えてあげれば解決します。
これで設定は完了です。
Code Runnerで pythonのコマンド出力を見ることができるようになりましたので試してみてくださいね。
根本的な解決
上記で示した方法だと、根本的な解決というわけではありません。
ただ、Python2系が使われなくなった現在だと上の設定のままでも問題がないのです。
しかしながら、根本的な理由がわからないと気持ち悪いという方向けに、解決方法を提示しておきたいと思います。
記事が少し長くなるので分割しました。
以下の記事の通りに作業をすれば、Code runnerの設定をしなくてもよくなります。
Pythonの学習をしようと、いざubuntuを使ってpythonファイルを実行してみると 「コマンド: 'python' が見つかりません。もしかして: command 'python3' from deb python3 […]
以上。