軽量のHTTPクライアントライブラリ「unirest」のインストールができない

【Python】軽量のHTTPクライアントライブラリ「unirest」のインストールができないことについて書きます。

「unirest(https://github.com/Kong/unirest-python)」は、複数の言語で利用できる軽量のHTTPライブラリのセットです。Mashapeによって構築および保守されています。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■unirestをインストールする

unirestをインストールを行いますが、今回はpipを経由してインストールを行うので、まずWindowsのコマンドプロンプトを起動します。

pip install unirest

起動後、上記のコマンドを入力し、Enterキーを押します。

なお、今回は、pythonランチャーを使用しており、Python Version 3.8.5にインストールを行うために、pipを使う場合にはコマンドでの切り替えを行います。

py -3.8 -m pip install unirest

切り替えるために、上記のコマンドを入力し、Enterキーを押します。

Defaulting to user installation because normal site-packages is not writeable
Collecting unirest
  Downloading Unirest-1.1.7.tar.gz (3.8 kB)
  Preparing metadata (setup.py) ... done
Collecting poster>=0.8.1
  Downloading poster-0.8.1.tar.gz (12 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [11 lines of output]
      Traceback (most recent call last):
        File "", line 2, in 
        File "", line 34, in 
        File "C:\Users\user_\AppData\Local\Temp\pip-install-efvj13g7\poster_0bfe048335e9432e8f585aa0f93d20ae\setup.py", line 2, in 
          import poster
        File "C:\Users\user_\AppData\Local\Temp\pip-install-efvj13g7\poster_0bfe048335e9432e8f585aa0f93d20ae\poster\__init__.py", line 29, in 
          import poster.streaminghttp
        File "C:\Users\user_\AppData\Local\Temp\pip-install-efvj13g7\poster_0bfe048335e9432e8f585aa0f93d20ae\poster\streaminghttp.py", line 61
          print "send:", repr(value)
                ^
      SyntaxError: invalid syntax
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Enterキーを押すと、インストールが開始され、上記のように「Successfully installed」と表示されます。これが表示されれば、unirestが正常にインストールされたことになりますが、今回はエラーが発生し、インストールできませんでした。

インストールできない原因を調べましたが、依存関係でposterというライブラリのインストールを行っていますが、このライブラリでエラーが発生してしまっていることが原因で、unirestがインストールできないことが判明。さらになぜこのライブラリでエラーが発生しているのかを調べたところ、posterはPython2にしか対応していない模様で、Python3互換はおそらく実装されていないということがわかりました(https://stackoverflow.com/questions/54066927/python-pip-install-poster-gives-me-error-command-python-setup-py-egg-info)。

コメント

タイトルとURLをコピーしました