Help us understand the problem. What is going on with this article?

pipenv を使ったプロジェクトで個人的に開発用ツールをインストールする

pipenvコマンドとPipfile/Pipfile.lock で依存パッケージを管理しているプロジェクトで、ちょっとした開発ツールを入れてみたい。

でも、pipenv install --dev で、Pipfile/Pipfile.lockを変更して、他の開発メンバーに影響を与えるのは避けたい(ex. 他メンバーとは好みが違う。お試しで使ってみたいだけなど)。

解決法: pipenv run pip install を使いましょう

pipenv run pip install で、Pipfileを変更せずに、仮想環境にパッケージを追加できます。

例:

$ pipenv run pip install jupyter # 仮想環境にインストール
$ pipenv run jupyter # 仮想環境のコマンドを実行

解説

ご存知の通り、pipenv は標準ライブラリのpip(などの)のラッパーであり、仮想環境内の pip を直接呼び出せば Pipfileを更新せずにパッケージをインストールできます。

$ ~/.local/share/virtualenvs/patissier-okggs9cf/bin/pip install jupyter # pip を直接呼び出す

とはいえ、仮想環境のパスはプロジェクトごとに異なり、いちいちパスを調べるのは面倒なので、「仮想環境内のコマンドを実行する」ために pipenv run コマンドが用意されています。

pipenv run は環境変数$PATHに仮想環境のbin/を追加します。

$ pipenv run env | grep PATH
PATH=/Users/a-hoge/.local/share/virtualenvs/patissier-okggs9cf/bin:【元々のPATHの内容】

これにより、pipenv run pip installは、仮想環境のpip installを実行することになります。

$ pipenv run pip install jupyter # 仮想環境にインストール
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした