「get-pip.py」が間違った構文について文句を言うのはなぜですか?

「get-pip.py」が間違った構文について文句を言うのはなぜですか?

pip3提供された答えに従ってsudo権限なしでインストールしようとしています。ここ。最初のステップは、次のコマンドを実行することです。

wget https://bootstrap.pypa.io/get-pip.py

問題なく動作しているようです。ただし、2番目のステップを実行するとき:

python3 get-pip.py --user

次のエラーメッセージが表示されます。

Traceback (most recent call last):
  File "get-pip.py", line 24226, in <module>
    main()
  File "get-pip.py", line 199, in main
    bootstrap(tmpdir=tmpdir)
  File "get-pip.py", line 82, in bootstrap
    from pip._internal.cli.main import main as pip_entry_point
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 954, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 896, in _find_spec
  File "<frozen importlib._bootstrap_external>", line 1139, in find_spec
  File "<frozen importlib._bootstrap_external>", line 1115, in _get_spec
  File "<frozen importlib._bootstrap_external>", line 1096, in _legacy_get_spec
  File "<frozen importlib._bootstrap>", line 444, in spec_from_loader
  File "<frozen importlib._bootstrap_external>", line 533, in spec_from_file_location
  File "/tmp/tmphdj_zdji/pip.zip/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^
SyntaxError: invalid syntax

問題は、後にユーザー名を指定しなかったことです--user。しかし、これは役に立ちませんでした。それでも同じエラーが発生します。

私が間違っていることを知っている人はいますか?


次に追加:

コメントで提案したように、get-pip.pyPythonバージョン3.6以降でのみ動作し、バージョン3.5があるという事実によって問題が発生する可能性があります。

この問題を克服するために、私は以下を試しました。

curl https://bootstrap.pypa.io/3.5/get-pip.py | python3

エラーなしで実行されました。出力は次のとおりです。

Successfully installed pip-20.3.4 setuptools-50.3.2 wheel-0.36.2

ベストアンサー1

Python 2.7の回避策

curl https://bootstrap.pypa.io/2.7/get-pip.py | sudo python

ポリスチレン:これは回避策ではなく、2.7のサポートを中止しました。https://github.com/pypa/packaging-problems/issues/433

おすすめ記事