「apt」と「pip」を使ったパッケージのインストールの違い

「apt」と「pip」を使ったパッケージのインストールの違い

私は依存関係をインストールしようとしてきました。設定ツール、明らかにモジュールは以下を使用してインストールされました。簡単。ところでバージョンが間違っているようで、次にインストールしてみました。指す変更があるかどうかを確認するためのものです(スポイラー:何も変更されていないようです)。

次の違いは何ですか(存在する場合)?

pip3 install setuptools

そして:

apt install python3-setuptools

ベストアンサー1

誰でも次の点の違い(ある場合)を説明していただきありがとうございます。

最高レベル:システムと競合する可能性がある場合は、pip installシステムにインストール(--systemまたは--userデフォルト以外のLinuxディストリビューションでは省略)を使用しないでください。これは非常に安全です。--userapt install

説明する:

aptLinuxディストリビューション用のソフトウェアパッケージインストールツールです。今日のLinuxディストリビューションは、主に中断することなく互いに連携するパッケージをインストールする方法を提供することに焦点を当てています。たとえば、libreofficeが使用するライブラリをインストールしようとしているが、そのバージョンがlibreofficeバージョンと互換性がない場合、Linuxディストリビューションのツールは残念ながらコマンドを実行するためにlibreofficeが要求されたバージョンと機能しないため、削除する必要があることをお知らせします。

これはほとんど起こらないという事実は、現代のLinuxディストリビューションがここでどれだけうまく機能するかを示しています。通常、インストールできるほとんどのソフトウェアはapt一緒にうまく機能します。

pip一方、コンピュータに他のどのソフトウェアが必要かはわかりません。 pipにシステムブート機能を破壊する特定のバージョンをインストールするように指示すると、引き続きそうなります。

pipPython専用です。そのマシンでは、Pythonに関連するすべてが「公正なゲーム」であり、任意に処理できると仮定します。正直なところ、これはほとんど真実ではありません。たとえば、Fedora(使用している他のLinuxディストリビューション)ではそうです。いいえ)、Easy Crack Installation Tool(必要に応じてdnfFedora)を使用できます。aptpip

それでは、なぜpipまだ存在するのですか?まあ、あります。はいこの場合、pipは、自分が見るPythonのすべての部分が自分の制御下にあると仮定できます。仮想環境。これにはPythonモジュール自体がインストールされておらず、コンピュータの他のソフトウェアと競合しません。単に他のソフトウェアが環境を理解していないからです。

それを使うのはとても簡単です。以下を使用して、このような環境を設定できます。

python3 -m venv ~/bertsexperiment

~/bertsexperimentこれにより、Pythonコンテンツがインストールされるフォルダが設定されます。その後、好きな場所でその環境を「有効にする」ことができます(実際には一部の環境変数を変更するだけです)。ただし、これは現在のプロセスとそのプロセスで始まる項目にのみ影響します。試してみてください:

source ~/bertsexperiment/bin/activate

このシェルは、将来のすべてのPythonツールがこのフォルダを「プレフィックス」として使用するように設定されます。

たとえば、このシェルでsetuptoolsを更新したい場合は、上記のsourceようにアクティブ化スクリプトを実行するとpip3 install --upgrade setuptoolsvirtualenvにインストールされます。

簡単に言うと:

  • 疑わしい場合は、aptソフトウェアスタックを連携させるのがディストリビューションの作業なので、使用してください。
  • pip現在のプロジェクトでのみ使用されており、システムの他のものも使用されていないフォルダに何かをインストールしたい場合を除き、このオプションを使用しないでください。
    したがって、これを使用したい唯一のリアルタイム時間は、Python virtualenvを使用するときです。

おすすめ記事