この記事では、pip を使用して仮想環境にコードをインストールするさまざまな方法を検討します。
これらはますます複雑になりますが、心配する必要はありません。私があらゆる段階でサポートします。 あなたの背中をたたきます
話はもう十分です!簡単なことから始めましょう。
次の状況を想定します: リポジトリをチェックアウトしたばかりで、要件をインストールしたいと考えています。
これは、次のコマンドを使用して簡単に実行できます...もちろん、仮想環境を作成した後です。
$ python -m venv (name of virtual environment) $ source (name of virtual environment)/bin/activate $ pip install .
インストール コマンドと、requirements.txt がないことに疑問を抱いている方には、悪い知らせがあります。 2024 年なので、requirements.txt はもう使用すべきではありません。
これはもちろん私個人の意見にすぎませんが、私が作業しているすべてのリポジトリには pyproject.toml があり、すべてのプロジェクトでも pyproject.toml を使用することを強くお勧めします。実行可能な例外は、サンドボックス プロジェクトと小さなスクリプトである可能性があります。
「なぜ」はここでは見当違いですが、チラ見せさせてください。要件自体を定義できるだけではありません。必要に応じてユーザーがインストールできるオプションの依存関係を定義することもできます。
これは、ライブラリやフォーマッタのテストなど、生産的なアプリケーションでは使用したくない開発ツールに特に役立ちます。
しかし、これは機能リストの始まりにすぎません。これらはメタデータの場所でもあり、アプリケーションへのカスタム エントリ ポイントを可能にします。
ここで再度インストール コマンドを実行します:
$ pip install .
pyproject.toml が存在するフォルダーにいることを確認してください。
ここでプロのヒントを紹介します。インストールしているリポジトリで作業する場合は、次のコマンドを使用してください
$ pip install -e .
これにより、「開発モード」とも呼ばれる編集可能なインストールが実行され、プロジェクトを再インストールすることなく、コードの変更を繰り返しテストできます。
それはどういう意味ですか?
インポート元のモジュールのコードを変更したのに、その変更が反映されない、という経験はありませんか?
編集可能なインストールを試してください!
簡単な質問: デフォルトのブランチではなく特定のブランチのバージョンをインストールしたい場合はどうしますか?
答えは明らかです
$ git checkout (branch name)
上記の手順を繰り返します。そうですよね?
この愚か者、あなたは今私の罠カードを発動したばかりです!
バージョン 2.23 以来、より直感的にブランチを切り替えることができる新しい子が登場しました。その名前は git switch です。
それ以来、git checkout は非推奨になりました。
したがって、時代遅れのツールを使用して同僚の前で自分自身をさらさないでください。代わりに、次回画面を共有するときに何気なく Git スイッチをドロップして、本気であることを全員に知らせてください。
気を引き締めて!
ここまでは単なる子供の遊びでした。さあ、大事な pip の使い方の時間です。
ほら、パッケージ リポジトリで利用可能なパッケージは誰でもインストールできますが、そこからインストールする方法を知っているだけでは、プライベート リポジトリ内のすべてのゴールドにはアクセスできないままになります。
独自のコードをパッケージに変換する前にテストすることも役立ちます。
そのような状況に陥った場合は、次のコマンドを使用してください:
$ pip install git+ssh://git@(your provider)/(owner)/(repo name).git
ここではプレースホルダーを除いた例を示します。これにより理解しやすくなります。
$ pip install git+ssh://git@github.com/pandas-dev/pandas.git
面白い事実: 「://」以降はすべて、git によって生成された ssh コマンドとほぼ同じです。ただし、「github.com」と所有者「pandas-dev」を区切るコロンの代わりにスラッシュを使用する必要があることに注意してください。
ブランチからインストールしたい場合はどうすればよいですか?
簡単!コマンドの最後に @(ref) を追加するだけです。したがって、次のようになります
$ pip install git+ssh://git@github.com/pandas-dev/pandas.git@1.5.x (branch) $ pip install git+ssh://git@github.com/pandas-dev/pandas.git@v2.2.2 (tag)
しかし、コマンドラインからパッケージをインストールするだけでは不十分な場合はどうすればよいでしょうか?ビルド パイプラインもプライベート リポジトリからインストールする必要がある場合はどうなるでしょうか?
パイプラインに個別の pip install ステートメントを追加することは問題外であることに同意していただければ幸いです。
代わりに、pyproject.toml の依存関係セクションに何を追加するかを示します。 これは前のコマンドと非常に似ていることがわかります:
"pandas@git+ssh://git@github.com/pandas-dev/pandas.git@1.5.x",
これを追加して、再度 pip install -e .. を実行します。
おめでとうございます!古いバージョンの pandas を環境にインストールしました。実際に必要なパッケージでこれを繰り返すとよいでしょう。
ここまでお付き合いいただいたので、ボーナス ツールの推奨事項を追加します。
ここ数か月間、私は uv を使用してきました。これは、Rust で書かれた pip (Python エコシステムでよく使用されるツールの 1 つ) のドロップイン代替品です。
最大のセールスポイントは、仮想環境の作成とパッケージのインストールが大幅に高速化されることです。特に仮想環境を再作成している場合は、キャッシュが使用されるためです。私たちは 10 倍高速になることについて話しています。キャッシュが暖かい場合はさらに 100 倍高速になることもあります。
利点のリストはそれよりもはるかに長いですが、これも別の記事で取り上げます。とりあえず試してみて、後でお礼を言います。
この件は終わりにしましょう。
これらはすべて、git と pip の間の相互作用に関して私が仕事中に使用した方法です。他にもインストール方法があるかもしれませんが、これでユースケースの 99% がカバーされるはずです。
お気に入りのコマンド ライン トリックを忘れてしまったのでしょうか?コメントで共有してください。
この記事で何か新しいことを学んでいただければ幸いです。ソフトウェア開発に関するより技術的な記事に興味がある場合は、フォローを検討してください。
以上がpip を使用してインストールする方法について知っておくべきことの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。