Pythonコードをコピーしてコマンドラインに貼り付ける

Pythonコードをコピーしてコマンドラインに貼り付ける

Mac端末のPython3.9セッションで一度に何行か貼り付けると、別の行かどうかわからず失敗します。

Python 3.9.1 (default, Jan  8 2021, 17:17:17) 
[Clang 12.0.0 (clang-1200.0.32.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 7
b = 3
a + b
  File "<stdin>", line 1
    a = 7
b = 3
a + b

         ^
SyntaxError: multiple statements found while compiling a single statement

しかし、興味深いことに、Python2.7で実行するとスムーズに動作します。

Python 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
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 7
>>> b = 3
>>> a + b
10

私の環境やbash_profileに何かがあるようですが、なぜバージョン3.9でのみ失敗するのですか?

よろしくお願いします。ミゲル。

ベストアンサー1

私はこれがまったく関係のないように聞こえるかもしれませんが、最近同様の問題に直面しました。問題は、私はLinuxを使用しているが、Macでは確認できないことです。 Bashのデフォルトは5.1で変更されており、これが根本的な原因です。私の場合、テキストをプレーンシェルに貼り付けると、テキストも「ハイライト表示」として貼り付けられ、設定が役に立ったことがわかりました。enable-bracketed-paste off強調表示された内容だけでなく、python3シェルの貼り付けヘルプでもその貼り付けはそれもしばらく壊れていました。

したがって、.inputrcファイルで設定できるLinuxディストリビューションのいくつかの入力デフォルト/設定を確認することをお勧めします。

おすすめ記事