yuyushiki_non
@yuyushiki_non (沼羊)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

【Python】Streamlitのインストール時のpywinptyに関するエラーについて

Streamlitをインストールする際のPywinptyに対するインストールエラーを解決したい

python3.8環境でpipを用いてstreamlitをインストールしようとすると、Pywinptyの部分でエラーとなりインストールできない。
そのため、原因とPywinptyのインストール法が知りたい。

環境

windows10
python3.8.2(32bit)
pip 22.1.2

状況

streamlitをpipでインストールしようとすると以下のようにエラーで止まる。

Collecting pywinpty>=1.1.0
  Using cached pywinpty-2.0.5.tar.gz (23 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]

      Cargo, the Rust package manager, is not installed or is not on PATH.
      This package requires Rust and Cargo to compile extensions. Install it through
      the system's package manager or via https://rustup.rs/

      Checking for Rust toolchain....
      [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.

特にこの部分で

Cargo, the Rust package manager, is not installed or is not on PATH.
      This package requires Rust and Cargo to compile extensions. Install it through
      the system's package manager or via https://rustup.rs/

RustのCargoが必要と言われているのだと思うがstreamlitのインストール法等を紹介しているサイトをいくつか見てみてもpipで直接インストールできているためなぜ自分の環境でこの状態になるかが理解できていません。

自分で試したこと

念のためpywinptyだけをpipインストールしようと試みたが同様のエラーが出た。
また、そもそもstreamlitはpywinptyの1.1以上を要求している中最新版をインストールしようとしているため、1.1を指定してインストールしようとしても同様であった。
要求通りRust/Cargoのインストールすればよいかもしれないがそちらの知識は浅く資料も見つけられていないので試せていない。

Pythonのコードの基礎は理解できているレベルだが環境構築等はまだ勉強不足でこの質問にも至らぬ点が多くあると思いますがアドバイスだけでも大変助かりますのでよろしくお願いいたします。
また、足りない情報等ありましたら都度追記いたしますのでその点もご教授お願い致します。

0

1Answer

このエラーに遭遇した事が無いためワークアラウンドな対処になってしまいますが、グローバル環境に直接インストールせず、仮想環境にインストールしてみてはいかがでしょうか。

pipenv などで仮想環境上に単独で Streamlit をインストールし、それで問題なければ、グローバル環境の他のパッケージなどが影響している可能性が高くなります。

pipenv の導入などは下記リンク先が分かりやすいかと思いますので、参照下さい。

0Like

Your answer might help someone💌