🖋️

MacでSyntaxErrorでpoetryのインストールに失敗する場合の解決法【Python】

2021/09/04に公開

poetryとは

poetryは高機能なpythonの依存ライブラリ管理ツール。

インストール方法も基本的にはGithubのREADMEに記述しているコマンドをそのまま実行すれば良いが、

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -

使用しているmacによってはエラーになることがある。

Linuxの基本的なパイプやパスを理解していれば解決しやすいが、環境構築で心が折れる初学者の方がいるともったいないので解決法をまとめて記しておきます。

エラー内容

  File "<stdin>", line 134
    def data_dir(version: Optional[str] = None) -> Path:
                        ^
SyntaxError: invalid syntax

原因

  • macで python コマンドで実行するpythonのバージョンが 2.7 の場合がある。
  • 特に古いmacに brew install でpython3系をインストールした場合は、python3の実行パスが以下のように異なっている場合が多い。
which python3
# => /usr/local/bin/python3
which python
# => /usr/bin/python
python --version
# => Python 2.7.16
python3 --version
# => Python 3.9.6

解決策

  • curlのpipe先をpython3に変える。
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python3 -
  • 正常に成功したときのログ
Retrieving Poetry metadata

# Welcome to Poetry!

This will download and install the latest version of Poetry,
a dependency and package manager for Python.

It will add the `poetry` command to Poetry's bin directory, located at:

/Users/myuser/Library/Python/3.9/bin

You can uninstall at any time by executing this script with the --uninstall option,
and these changes will be reverted.

Installing Poetry (1.1.8): Done

Poetry (1.1.8) is installed now. Great!

To get started you need Poetry's bin directory (/Users/myuser/Library/Python/3.9/bin) in your `PATH`
environment variable.

Add `export PATH="/Users/myuser/Library/Python/3.9/bin:$PATH"` to your shell configuration file.

Alternatively, you can call Poetry explicitly with `/Users/myuser/Library/Python/3.9/bin/poetry`.

You can test that everything is set up by executing:

`poetry --version`

参考

Discussion