Ubuntu24.04ではPython のパッケージ管理システムのpipに代わってpipxを使用します。
StreamlitとはHTMLやCSSなどの知識を要することなくデータの可視化(グラフ化など)が簡単に実装出来るフレームワークです。仮想環境下のStreamlitからmatplotlibライブラリを使う方法を紹介します。
尚、Ubuntu24.04でpipをインストールしてStreamlitをインストールしようとするとエラーになります。
#pip3 install Streamlit error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed. If you wish to install a non-Debian packaged Python application, it may be easiest to use pipx install xyz, which will manage a virtual environment for you. Make sure you have pipx installed. See /usr/share/doc/python3.12/README.venv for more information. note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification.
ということで、
まずは、pipxをインストールします。#apt install pipx
続いて、Streamlitをインストールします。
#pipx ensurepath #pipx install streamlit
以下のコマンドで、インストールが確認出来ます。
#pipx list venvs are in /root/.local/share/pipx/venvs apps are exposed on your $PATH at /root/.local/bin manual pages are exposed at /root/.local/share/man package streamlit 1.37.1, installed using Python 3.12.3 - streamlit - streamlit.cmd
ここで、matplotlibを同じ用にpipxでインストールしようとするとエラーが出ます。「ライブラリをインストールしようとしている場合は、pipx を使用しないでください。」とのことです。
#pipx install matplotlib ⣽ installing matplotlibNote: Dependent package 'numpy' contains 2 apps - f2py - numpy-config Note: Dependent package 'fonttools' contains 4 apps - fonttools - pyftmerge - pyftsubset - ttx No apps associated with package matplotlib. Try again with '--include-deps' to include apps of dependent packages, which are listed above. If you are attempting to install a library, pipx should not be used. Consider using pip or a similar tool instead.
pipx管理化の仮想環境にライブラリをインストールするには「inject」を使うようでした。
以下のコマンドでStreamlitでmatplotlibを使用出来るようにします。
#pipx inject streamlit matplotlib
これで無事にStreamlitからmatplotlibを使えるようになりました。