GNU/Linux >> Linux の 問題 >  >> Linux

Pipenv –公式に推奨されるPythonパッケージツール

先日、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アプリケーションをインストールして実行する

Linux
  1. Windowsにpython-novaclientをインストールします

  2. Raspberry Pi で Python Selenium を使用するために PhantomJS をインストールするにはどうすればよいですか?

  3. Ubuntu 20.04 に複数の Python バージョンをインストールするための推奨される方法

  1. LinuxにPythonをインストールする方法

  2. LinuxMint20にPythonをインストールする方法

  3. 自分のディレクトリにR3.3.1をインストールする方法は?

  1. RHEL7LinuxへのPythonパッケージツールのPIPのインストール

  2. 「インストール」コマンドの目的は?

  3. Ubuntu16.04にAnacondaPythonディストリビューションをインストールする方法