4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WindowsにpipxをインストールしてPythonアプリを管理してみる

Last updated at Posted at 2024-05-01

Pythonの便利なコマンド、パッケージなどアプリをインストールする際に、どこにインストールしてどのように管理するかは悩む部分かと思いますが。

pipxを利用するとこれらをいい感じに隔離した環境にインストールして管理してくれるようです。

ここではWindows環境にpipxをインストールして、パッケージをインストールして管理してみます。

本記事で利用している環境

  • Windows 23H2
  • Python 3.12.1
  • pip 24.0

ドキュメントなど

前提条件の確認

Installation System Requirements

2024年5月現在、python 3.7以上を利用する必要があるようです。

またpipを利用したインストールでは、pipのバージョンはrequires pip 19.0 or laterとなっていました。

Windowsにpipxをインストールする

Windowsでのpipxを利用するには、下記の3種類があるようです。

  • Scoopを利用してインストール
  • pipを利用してインストール
  • インストールせずにzipappで利用

今回はpipを利用してインストールしてみます。

# If you installed python using Microsoft Store, replace `py` with `python3` in the next line.
py -m pip install --user pipx

上記コマンドを実行してインストールします。

Windowsのpy.exe(pythonランチャー)を利用し、-mオプションでモジュールとして pip install --user pipxを実行しています。

pipの-userオプションを利用するとインストールするパッケージを、現在のユーザーだけが使えるようにpipxをインストールします。

image.png

-userオプションを利用しているので、ユーザーディレクトリ配下の\AppData\Roaming\...\Scriptsにインストールされました。

画像ではWarningが出ていますが、今回利用する環境では該当ディレクトリに環境PATHを通していないので警告がでているようです。

ドキュメントではWarningが出た場合、記載されているパスに移動して下記のコマンドを実行とあるので実行します。

# Warning に記載のあるパスに移動してからコマンドを実行
.\pipx.exe ensurepath

コマンドを実行すると環境変数PATHに該当のディレクトリが登録されました。

image.png

プロンプトを再起動して環境変数を読み込み直すと、インストールしたpipxにPATHが通っている事がわかります。

image.png

pipxでpycowsayをインストールして実行してみる

# pipxで管理されているパッケージがない事を確認
pipx list

# pycowsayをインストール
pipx install pycowsay

# pipx listでインストールされた事を確認
pipx list

# pycowsayを実行
pycowsay moooo!

image.png

pipx runではインストールしないでも実行できる

pipx runコマンドを実行すると、インストールせずとも一時的な仮想環境を用意して実行してくれます。

pipx run pycowsay moooo!

image.png

実行した環境では先ほどpycowsayがインストールされているため、すでにインストールされている旨メッセージがでてしまっていますがpycowsayが実行されました。

pipx uninstallでアンインストール

pipxのuninstallオプションでアンインストールする事ができます。

pipx list

pipx uninstall pycowsay

pipx list

image.png

pipxでインストールすると何がよいのか

pipに比べて、pipxはインストールしたアプリごとに隔離した環境を用意してインストールされるようです。

アプリケーションごとに、隔離した環境を用意しているため、パッケージの一覧表示やアップグレード、アンインストールなどでメリットがあります。

またpipxはsudoを必要としなかったり、runオプションで一時的に実行できたり、特定のバージョンを指定して簡単に実行できたり。

色々と享受できるメリットがあります。

verboseオプションを付けてどんな感じでpipxがどんな感じで動いているのか

上記ページでpipxの仕組みについて記載があります。

インストール時に、--verboseオプションをつけてインストールしてみると。

裏ではどのインタープリターを利用しているかや、venvを利用して仮想環境を生成しているのが確認できます。

image.png

インストールされる場所と仮想環境の場所について

pipxのデフォルト設定では、バイナリは'~.local\bin'にインストールされ、仮想環境は~\pipx\venvsに構築されていました。

ちなみにここらへんのパスについては、バージョン1.2.0で変更になっているようです。

以下、Installation OptionsのNoteより引用

image.png

pipx-in-pipx

pipxは適宜仮想環境を作成してインストールしてくれるツールとなりますが、紹介した手順ではpipx自体はpipでインストールしています。

公式ドキュメントではpipxをpipxでインストールする事は推奨されてはいませんが、これをやりたい場合は下記のプロジェクトが紹介されていました。

It is not recommended to install pipx via pipx. If you'd like to do this anyway, take a look at the pipx-in-pipx project and read about the limitations there.

総評

ツールごとに仮想環境を構築したり、インストールだったりアンインストールだったり。
ただツールを使いたいだけなのに、環境の管理をどうするか悩んだりすることがありますが。

pipxを利用すると、そこらへんの管理をpipxが受け持ってくれるので本来利用したかったツールを悩まずに便利に利用できます。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?