先日、PIPを使用してPythonパッケージを管理するための初心者向けガイドを公開しました 。そのガイドでは、pipをインストールする方法と、pipを使用してPythonパッケージをインストール、更新、アンインストールする方法について説明しました。また、仮想環境の重要性と、venvおよびvirtualvnvツールを使用して仮想環境を作成する方法についても説明しました。今日は、 pipenvという名前の別のPythonパッケージマネージャーについて学習します。 。これは、Python.orgが推奨する新しいPythonパッケージツールです。仮想環境を作成しなくても、Pythonの依存関係を簡単にインストールして管理するために使用できます。 Pipenvは、プロジェクトのvirtualenvを自動的に作成および管理します。また、パッケージをインストール/アンインストールするときに、Pipfileからパッケージを追加/削除します。
なぜPipenvなのか?
Pipenvは、次のリアルタイムの問題に対処します。
- 仮想環境を作成する必要がなくなりました。 Pipenvは、プロジェクトのvirtualenvを自動的に作成します。簡単に言うと、pipとvirtualenvは連携して機能します。
- requireds.txtの管理 ファイルに問題が発生する可能性があるため、Pipenvは代わりに次のPipfileとPipfile.lockを使用します。これは、基本的なユースケースに適しています。
- 安全です。ハッシュは常にどこでも使用されます。セキュリティの脆弱性を自動的に公開します。
- 依存関係グラフはいつでも表示できます。
- .envファイルをロードして開発ワークフローを合理化します。
さあ、始めましょう。
公式に推奨されているPythonパッケージツールであるPipenvをインストールします
Pipenvをインストールする方法はたくさんあります。公式に推奨される2つの方法が表示されます。
1。 pipを使用したpipenvのインストール
公式に推奨される方法は、 pipを使用することです。 。 Pythonとpipがインストールされていることを確認してください。そうでない場合は、この記事の最初の段落にリンクされている以前のガイドを参照してください。
pipをインストールしたら、次のコマンドを実行してpipenvをインストールします。
$ pip install --user pipenv
このコマンドは、pipenvをユーザーレベルでインストールします(つまり、システム全体ではありません)。インストール後にシェルでpipenvが使用できない場合は、ユーザーベースのバイナリディレクトリを追加する必要があります。 あなたのPATHに。ユーザーベースがわからない場合は、次のコマンドを実行して調べてください。
$ python -m site --user-base
以下のような出力が表示されます。
/home/sk/.local
上記の出力からわかるように、私のユーザーベースディレクトリは/home/sk/.localです。 、および私のベースのバイナリディレクトリは /home/sk/.local/bin 。クリア?良い。次に、これをPATHに追加します。これを行うには、〜/.profileを編集します ファイル:
$ vi ~/.profile
最後にこの行を追加します:
export PATH="$HOME/.local/bin:$PATH"
ESCを押します キーとタイプ:wq ファイルを保存して終了します。次に、次のコマンドを実行して変更を有効にします。
$ source ~/.profile
最後に、次のコマンドを実行します。
$ pipenv --update
いつでもpipenvをアップグレードするには、次のコマンドを実行します。
$ pip install --user --upgrade pipenv
2。 pipsiを使用したpipenvのインストール
Pipsiは、Pythonスクリプトを分離された仮想環境にインストールできる強力なツールです。
pipsiをインストールするには、次を実行します:
$ curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python
画面の指示に従ってください。PATHを更新する必要があります。
pipsiをインストールしたら、次のコマンドを実行してpipenvをインストールします。
$ pipsi install pew $ pipsi install pipenv
最後に、次のコマンドを実行します。
$ pipenv --update
いつでもpipenvをアップグレードするには、次を実行するだけです:
$ pipsi upgrade pipenv
Pipenvを使用してPythonパッケージを管理する
シェルで「pipenv」を実行して、使用可能なコマンドと一般的なオプションのリストを表示します。
$ pipenv
サンプル出力は次のようになります:
パッケージのインストール
新しいプロジェクトを作成するか、既存のプロジェクトのディレクトリに移動します。
$ mkdir myproject $ cd myproject
プロジェクトのパッケージをインストールします:
$ pipenv install requests
lsのとき プロジェクトのディレクトリ(この場合はmyproject)に、 Pipfileという2つのファイルが表示されます。 、および Pipfile.lock 。 Pipfileには、名前、バージョンなど、新しくインストールされたパッケージの情報が含まれています。このPipfileを使用して、プロジェクトを再インストールしたり、他のユーザーと共有したりするときに、プロジェクトに必要な依存関係を追跡できます。
$ cat Pipfile
また、Pipfile.lockには、システム情報、インストールされているパッケージのバージョンを含むすべての依存関係、およびインストールされているすべてのパッケージとその依存関係のすべてのハッシュが含まれています。
$ cat Pipfile.lock
次に、別のパッケージをインストールして、2つのファイルの内容をもう一度確認します。 Pidfileに2つのパッケージが含まれていることに気付くでしょう。また、Pidfile.lockには、バージョンを含むインストール済みパッケージのすべての依存関係と、インストール済みのすべてのパッケージとその依存関係のすべてのハッシュが含まれています。簡単に言うと、これら2つのファイルは、新しいパッケージをインストールするたびに自動的に更新されます。
気づきましたか?仮想環境を作成していません。 Pipenvは、プロジェクトの仮想環境を自動的に作成しました。プロジェクトがどこに保存されているのか疑問に思っていますか?このコマンドを実行するだけで、仮想環境の場所を知ることができます。
$ pipenv --venv /home/sk/.local/share/virtualenvs/myproject-x7-2XYPN
プロジェクトのホームの詳細を表示するには、次を実行します:
$ pipenv --where /home/sk/myproject
両方の出力でできるように、 "/ home / sk / myproject" 私のプロジェクトのホームディレクトリであり、 "/ home / sk / .local / share / virtualenvs / myproject-x7-2XYPN" 私の仮想環境です。
virtualenvに「ls」して、そこに何があるかを確認できます。
$ ls /home/sk/.local/share/virtualenvs/myproject-x7-2XYPN
パッケージの更新
すべてのパッケージを更新するには、次を実行します:
$ pipenv update
このコマンドは、すべてのパッケージをアンインストールし、パッケージを最新の互換性のあるバージョンに再インストールします。
パッケージの整合性をチェックする
インストールされたパッケージにセキュリティの脆弱性があるかどうか心配していますか?問題ない! Pipenvはあなたを取り戻しました。パッケージの整合性を確認するには、次のコマンドを実行するだけです。
$ pipenv check Checking PEP 508 requirements… Passed! Checking installed package safety… All good!
上記のコマンドは、セキュリティの脆弱性と、Pipfileで提供されているPEP508マーカーをチェックします。
依存関係グラフを表示
「pipenvgraph」を実行して、何が起こるか見てみましょう。
$ pipenv graph
ご覧のとおり、このコマンドは依存関係グラフを表示します。
パッケージをアンインストールする
パッケージを削除するには、次のコマンドを実行します:
$ pipenv uninstall requests Un-installing speedtest-cli… Uninstalling speedtest-cli-1.0.7: Successfully uninstalled speedtest-cli-1.0.7 Removing speedtest-cli from Pipfile… Locking [dev-packages] dependencies… Locking [packages] dependencies… Updated Pipfile.lock (c23e27)!
すべてをアンインストールするには、次のコマンドを実行します:
$ pipenv uninstall --all Un-installing all packages from virtualenv… Found 1 installed package(s), purging… Environment now purged and fresh!
詳細については、次を実行してください:
$ pipenv -h
または、
$ pipenv --man
私がテストした限り、Pipenvはpipよりもはるかに使いやすいです。 Python.orgによって公式に推奨されているため、Pythonパッケージをインストールするときにvenvとvirtualenvを完全に削除できるようになりました。
推奨される読み物:
- Pipx –隔離された環境でPythonアプリケーションをインストールして実行する