89334


[![画像の説明をここに入力](https://i.stack.imgur.com/LfxiW.jpg)](https://i.stack.imgur.com/LfxiW.jpg)Google
Colabだと動くコードがVSCodeだと`SyntaxError: invalid syntax`と表示されうまく動きません。

簡単なコード、例えば `print("hello")`を実行すると `hello` が出力されますが、  
以下のようなコードを実行するとエラーが出ます。

プログラミング自体初めてなので右も左もよくわかりませんが、ご教授よろしくお願いします。

追記  
画像をアップロードしました。  
すみません。oriri様の質問がよくわからなかったのでVScodeの画面をアップしました。  
コードを入力し、shift+enterで実行しました。  
これでoriri様の答えが出ているといいのですが。

**エラーメッセージ：**

[code]

    >>> /Users/ユーザー名/miniforge3/bin/python /Users/ユーザー名/python/bmi
      File "<stdin>", line 1
        /Users/ユーザー名/miniforge3/bin/python /Users/ユーザー名/python/bmi
        ^
    SyntaxError: invalid syntax
    >>> 
    
[/code]

**コード：**

[code]

    lists = ["ウォーキングデッド", "アントラージュ"]
    for list in lists:
      print(list)
    
[/code]

[![画像の説明をここに入力](https://i.stack.imgur.com/2JRcA.png)](https://i.stack.imgur.com/2JRcA.png)

[![画像の説明をここに入力](https://i.stack.imgur.com/DLFVD.png)](https://i.stack.imgur.com/DLFVD.png)


CC BY-SA 4.0
2022-06-11T01:44:24.000
89325
2022-06-17T07:55:41.840
2022-06-17T06:52:52.993
53015
53015
question
python macos vscode
VSCode から Python のコードが実行できない


もしかして、pythonを起動して  
「/Users/ユーザー名/miniforge3/bin/python /Users/ユーザー名/python/bmi」  
を入力実行しているのではないですか？

[code]

    % python
    
    Python 3.10.3 (main, Apr  2 2022, 13:52:10) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> /Users/ユーザー名/miniforge3/bin/python /Users/ユーザー名/python/bmi
      File "<stdin>", line 1
        /Users/ユーザー名/miniforge3/bin/python /Users/ユーザー名/python/bmi
        ^
    SyntaxError: invalid syntax
    >>> 
    
[/code]

＜追記＞  
新しく追加された画像を拝見しましたが、Pythonインタープリターを指定されていませんよ。  
[![画像の説明をここに入力](https://i.stack.imgur.com/OZlmb.png)](https://i.stack.imgur.com/OZlmb.png)


CC BY-SA 4.0
2022-06-11T06:39:00.323
89330
2022-06-11T09:49:22.890
2022-06-11T09:49:22.890
43005
43005
89325
answer


`Shift`+`Enter` で実行したということは,
標準的なキーボード・ショートカットの`"python.execSelectionInTerminal"` (Pythonターミナルで選択範囲/行を実行する)
を行ったと思われます。

カーソルをどこかの行に置いてただろうけど不明で, 何がどうエラーになったかは分からない

* * *

Google Colab や [Jupyter](https://jupyter.org/) と同じように **セル単位** で動かしたいのであれば

  * VS Codeのコマンドパレット `Ctrl`+`Shift`+`P` から `Create: New Jupyter Notebook` を選び, プログラムを入力 (頭文字を SPC区切りで`c n j n`… などタイプしていくと選ぶの容易 `c j n`とかでも大丈夫)
  * あるいは Colabのコマンドパレットから該当する Notebookを「.ipynbをダウンロード」でローカルに取得, それを VS Codeで開く
  * あとは Colab同様の操作で実行可能 (`Shift`+`Enter` もしくは「セルの実行」を行う)

あるいは (セルではなく) 単独の Pythonスクリプトとして実行するなら

  * ["shebang" 行](https://docs.python.org/ja/3/tutorial/interpreter.html?highlight=shebang#the-interpreter-and-its-environment) 付けるか, 拡張子の [.py を付ける](https://docs.python.org/ja/3/using/cmdline.html?highlight=.py) (あるいはその両方)
  * (セルの集合でない) Pythonスクリプトファイルを VS Codeで実行する場合は, 右クリックからの「ターミナルで Pythonファイルを実行」 (あるいは VS Codeのコマンドパレットから当該機能を選択)

… の手順になるでしょう  
(Interactive Window の説明は蛇足かもなので割愛)

* * *

【追記】

質問にあるスクリーンショットからは, 拡張子のないスクリプトに読み取れます。  
VS Codeであれば [Language
Mode](https://code.visualstudio.com/docs/languages/overview)選択で, その間は
Pythonスクリプトとして扱うことが可能。

しかし VS Codeから離れると, OSにとってそれが何のファイルかわからない。ので普通は以下の手段で指定

  * ファイル名拡張子を付ける … ファイル名見ただけで分かる
  * "shebang" 行を付ける … `$ file -i FILENAME` もしくは `$ xdg-mime query filetype FILENAME` で分かる
  * OS側で用意されてる(かもしれない)拡張属性に指定する
  * (あるいはその他)

(OSにとっても, スクリプト作成者本人にとっても(数カ月後には忘れてるかもなので) そのような情報は大切)

* * *

### 【追記】project.py 実行に関して

Pythonインタプリターを使うには以下の方法があります

  * コマンドラインで次のように指定する方法 (<https://docs.python.org/ja/3/using/cmdline.html>) 
[code]    $ python myscript.py   # スクリプトファイル名は適したものを指定

    
[/code]

  * [対話モード(Interactive Mode)](https://docs.python.org/ja/3/tutorial/interpreter.html#interactive-mode) を利用する方法

docs.python.org には [Python チュートリアル](https://docs.python.org/ja/3/tutorial/)
があるので使い方見ておいたほうがよいでしょう

VS Codeでも, Python動かすために知っておいたほうがよいことがいくつかあり, この回答の最初の方に記したこともそのうちのひとつ。

(たとえば `Shift`+`Enter` で動いたとか動かないとかだけど, それは [Language Mode,
言語モード](https://code.visualstudio.com/docs/languages/overview)
によって機能(割り当てが)異なるものだし, [Integrated Terminal,
統合ターミナル](https://code.visualstudio.com/docs/editor/integrated-terminal)
での操作時も機能が異なる)

「`Shift`+`Enter` 押したら動くはず」  
というのではなく, なるべく状況を把握して利用するのがよいでしょう

* * *

対話モードのプロンプトが行頭に表示され入力待ちになっているのなら

[code]

    >>>
    
[/code]

それはたぶん, 「カーソルの置いてある行を実行する」で実行したまま放置してるのかも  
その状態でターミナルのコマンド入力しても, Pythonスクリプトとして認識しようとしエラーに  
なので いったん抜けて終了してください (macOS でも `Ctrl`+`d` かな？)


CC BY-SA 4.0
2022-06-11T08:49:39.043
89334
2022-06-17T07:55:41.840
2022-06-17T07:55:41.840
43025
43025
89325
answer