18
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Python製のCLIアプリのインストールはpipx使っとけばOK (2020年時点)

Posted at

TL;DR

brew install pipx
pipx ensurepath
pipx install インストールしたいアプリ名

これだけでいい感じになる。

はじめに

Python製CLIアプリのインストールはpipを使えばできてしまうのですが、Macには標準でPython2とPython3が同居していたり、自分でPython環境を別途構築しているとpipが一体どこのpipなのかが訳わからなくなりがちだと思います。

こんな記事があったり。

Why you should use python -m pip

pipを使うならちゃんとインタプリタを明示しようということですね。でも面倒だ。

上記の記事を読むとCLIアプリ管理に特化したpipxというツールがあることを知りました。

使ってみると確かにいい感じ。ちょっとした解説を踏まえて記事にしました。

環境

  • MacOS 10.14.6

pipx をインストールする。

(公式READMEと同じ内容です。)

pipx自体はHomebrewでパパっとインストールします。

brew install pipx
pipx ensurepath

上記のpipx ensurepathを実行すると以下のようなメッセージがでます。

Success! Added /Users/shintaro.ikeda/.local/bin to the PATH environment variable.
Consider adding shell completions for pipx. Run 'pipx completions' for instructions.

You likely need to open a new terminal or re-login for the changes to take effect. ✨ 🌟 ✨

どうやら$PATHに新しい参照先を刺したようです。

echo $PATH
(略..):/Users/shintaro.ikeda/.local/bin

たしかに出てきました。pipxで勝手にやってくれるので自分でbashrc等で設定しなくて良いので便利です。

Python製アプリのインストール

Pythonで作られているvirtualenvをインストールしてみます。

pipx install virtualenv

以下の出力が表示されます。

  installed package virtualenv 20.0.23, Python 3.8.3
  These apps are now globally available
    - virtualenv
done! ✨ 🌟 ✨

Mac自体にあるPythonは最新のPython3.8.3ではないのですが、pipxが独自で$HOME/.local/以下に保持しています。

which virtualenv
/Users/shintaro.ikeda/.local/bin/virtualenv

virtualenvがインストールされています。

またpipxではCLIアプリごとにPythonインタプリタと利用しているライブラリを独立で管理しています。下記のように確認できます。

ls $HOME/.local/pipx/venvs/virtualenv
bin                include            lib                pipx_metadata.json pyvenv.cfg

インストール後は、pipx list, pipx uninstall, pipx upgradeなど他のパッケージ管理ツールと同様にアプリを管理することができます。

18
9
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
18
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?