LoginSignup
27
31

More than 5 years have passed since last update.

npm(javascript)とpipenv(python)の対応表

Last updated at Posted at 2018-03-31

Pythonの世界でnpmと似たものが欲しい

node.jsやっててnpmなしでは生きていけない体になった人がpythonやるときに似たようなツールないかなー、と探したらpipenvがいいらしいのでよく使いそうな使い方をまとめてみた。

ちなみにnpmだとpackage.jsonがあるディレクトリ下を作業領域にするけど、pipenvPipfileがあるディレクトリでpipenv shellを実行して作業領域(仮想環境と呼ばれる)に入る。

対応表

npm init

npmではpackage.jsonを生成する。

$ pipenv install

Pipfileがない場合は新しくPipfilePipfile.lockを生成する。

npm install

npmではpackage.jsonに記述されたモジュールのインストールを行う。

$ pipenv install

Pipfileがある場合Pipfileに記述されたモジュールの仮想環境へのインストールを行う。

Pipfilepython_versionにインストールされていないバージョンが指定されていたらインストールするかどうか聞かれて、自動インストールできるらしいけど試してみたところエラーで止まってしまった……。

npm install -g (モジュール名)

(多分)
$ pipenv install --system

※Python力が足りなくて適切な実験例が思いつかなかったので自信ない

npm install --save (モジュール名)

$ pipenv install (モジュール名)

特にオプションをつけなくてもPipfile[packages]に追加してくれる。

npm install --dev (モジュール名)

$ pipenv install --dev (モジュール)

-dでもOK。Pipfile[dev-packages]に追加してくれる。

npm uninstall (モジュール名)

$ pipenv uninstall (モジュール名)

npm list [-g]

$ pipenv graph

ちなみに

$ pipenv check

で脆弱性チェックをしてくれるらしい。優秀すぎないか?

npm test

たぶん対応するコマンドはない?

npm run (任意)

たぶん対応するコマンドはない?

ありました(コメントで @tanamon さんに教えてもらった)。

[scripts]
printfoo = "python -c \"print('foo')\""

Pipfileにこのように書いておいて

$ pipenv run printfoo

こうやって呼び出す。

その他

$ pipenv --rm

で仮想環境の削除ができる。


参考文献

27
31
2

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
27
31