エラー: Bash: Python の予期しないトークン '(' に近い構文エラー
Python コードが Bash などのシェル ターミナルを介して実行されるたびに、インタープリターを指す必要があります。 Bash がファイルを実行する適切な方法を見つけられない場合、エラーが発生します。
このガイドでは、エラー: Bash: 予期しないトークン '(' の近くで構文エラーが発生しました
.
エラー: bash: Python の予期しないトークン '('
付近で構文エラーが発生しました
インタープリターが Python ファイルを見つけて実行するには、コンピューターに Python をインストールする必要があります。 インタープリターは、オペレーティング システムによって動作が異なります。
Windows では、Python をインストールすると、IDLE
というプログラムがコンピューターにインストールされます。これにはインタープリターが付属しています。 Python コードを実行します。
Linux では、コマンド python
を入力して、シェル ターミナルを使用して Python にアクセスできます。 コードを記述して実行できる Python 環境が開きます。
コードが Python インタープリターを見つけるのに問題がある場合は、それが実行されているシェルで実行されます。 ユーザーが Bash ターミナルからコードを実行すると、シェルは次のようなエラーを返します。
#Python 3.x
Error: bash: syntax error near unexpected token '('
Bash は Unix コマンドであり、ほとんどの Linux ディストリビューションのデフォルト シェルです。 Python コードを理解できないため、このエラーが発生します。
コードの最初の行ではエラーが発生せず、後でエラーが発生する可能性があります。これは、コードの一部がシェル コマンドとして解釈される可能性があるためです。
エラー: bash: Python の予期しないトークン '('
付近での構文エラーを修正
Python でこのエラーを修正するには、複数の方法があります。 Linux と Windows ではオペレーティング システムの動作が異なるため、修正内容は異なります。
Linux 向けのソリューション
インタープリターへのパスをコード ファイルに追加して、シェル ターミナルではなくインタープリターがこのファイルを実行する必要があることをコンピューターが認識できるようにする必要があります。 コード ファイルの先頭に次の行を追加する必要があります。
# Python 3.x
#!/usr/bin/env python
Bash シェルではなく、Python インタープリターからファイルを実行します。 これは Python のコメントではないことに注意してください。
代わりに、このシェル コマンドは、コードを実行する前にシェルで Python 環境を開始します。 ユーザーは、python filename.py
のように、ファイル名の前に python
コマンドを指定して、シェルでコード ファイルを実行することもできます。
また、同じことを行い、Python インタープリターからファイルを実行します。 Python 2 と 3 の両方がインストールされている場合、Python 3 を使用してコードを実行する場合は、python3
と記述する必要があります。Python 2 を使用してコードを実行する場合は、python
のみを記述します。
コード例:
# Python 3.x
#!/usr/bin/env python
print("Hello World")
出力:
#Python 3.x
Hello World
Windows 向けのソリューション
Windows では、ユーザーはターミナルで python
キーワードを使用してコード ファイルを実行することもできますが、実行する前に、Python インタープリターへのパスを Windows の PATH
変数に追加する必要があります。 そのための手順は次のとおりです。
- Windows の検索バーで
env
を検索し、システム環境変数の編集
オプションを開きます。 環境変数
を開きます。- 次に、
PATH
変数を選択し、Edit
をクリックします。 - このウィンドウの空のフィールドにインタープリターのパスを貼り付けます。
- これでインタープリターへのパスがユーザーの Windows に追加され、
python
コマンドを使用してシェルからコード ファイルを実行できるようになりました。
コードを実行するには、ターミナルで次のように記述する必要があります。
#Python 3.x
python filename.py
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません