Closed2

Pipenvで開発パッケージがインストールされないときに試すこと

あーるあーる

開発パッケージについて

PipenvはPython向けのパッケージ依存管理ツールである。

Pipenvを使うことで開発用途にだけ使用するパッケージやモジュールを明示的に分けて管理できる。
いわゆる開発パッケージ(dev-packages)というものである。

これはnpmやYarnなどの依存解決に使われるpackage.jsonでいうところのdevDependenciesに該当する。

Pipenvでは開発パッケージの依存管理にpipfileと呼ばれるファイルを使用して依存管理を行なっている。

チーム開発する際など開発環境を揃える際に重宝する。

例えば、以下のようなPipfileがあった場合、pipenv installで依存解決しながらパッケージのインストール、バージョンの固定を行う。

Pipfile
[packages]
requests = "*"

[dev-packages]
black = "*"

上の例ではblackをフォーマッターとして開発パッケージとしてインストールした。

ここでpipenv installした場合、blackもインストールされると思いきや、インストールされなくて右往左往した。

あーるあーる

結論

Pipfileで[dev-packages]に記載したパッケージをインストールするには明示的に--devオプションをつけること

公式ドキュメントにも丁寧に説明があったので、引用。

--dev — Pipfile の develop パッケージと default パッケージの両方をインストールします。

(出典:Pipenvの基本的な使い方 — pipenv 2018.11.27.dev0 ドキュメント

つまり開発環境でpipemv installをするときは黙って--devを付けておくのが無難な選択肢だと言える。

このスクラップは2022/11/10にクローズされました