web-dev-qa-db-ja.com

pipとapt-getを使用してパッケージをインストールすることの違いは何ですか?

UbuntuマシンにDjangoサイトをデプロイしようとしています。Psycopg2とPILをインストールする必要がありますが、apt-getまたはpipを使用してインストールできるようです。 2つの方法でインストールすることに違いはありますか?pipを使用すると仮想環境にインストールできますが、apt-getを使用するとグローバルpython環境にインストールされます。

29

あなたはおそらくapt-getの利点をすでに知っているでしょう。自動更新通知、それらのツールを必要とする他のapt-installedパッケージは、それらがインストールされていることを認識します。

Pipを使用すると、インストール時に最新バージョンを取得していることがわかり、デフォルト以外のバージョンのPythonにインストールでき、virtualenvにインストールできます。

Pipが提供する機能を必要とせず、APTで利用できない他のPythonパッケージを定期的にインストールする必要がない場合は、APTバージョン。

24
agf

この質問に対するほとんどの回答は、apt-getを使用する利点の1つを見逃しています。

apt-getプリコンパイル済みであり、pipよりもはるかに高速インストールされます。

Numpy、matplotlib、pandas、およびその他のscipy関連のモジュールをインストールするには、apt-getは数秒しかかかりません。 pipは簡単に10分以上を消費できます。

ルートアクセス権があり、少し古いバージョンを気にしない場合は、apt-getが高速で心配のない方法です。

11
laviex

パッケージマネージャーで何が行われるかは統合テストを受けますが、Pypiで何が行われるかはテストされていないことに注意してください。

Pypiは開発に問題ありません。

本番環境では、Pypiを使用できますが、パッケージマネージャーの内容に常に依存できることがすぐにわかります...

4
Andrei

一部のOSパッケージマネージャーはパッケージのカスタマイズを行い、パッケージの動作を壊したり変更したりする可能性があるため、pipを使用してPythonパッケージをインストールすることを常にお勧めします。

パッケージをグローバルにインストールする必要がある場合:

$ Sudo pip install PACKAGE

そして、 PyPI またはプロジェクトのリンクからパッケージをダウンロードしようとします。

3
Hugo Tavares

私はこれについて何かを見つけました。私のubuntuにはpythonバージョン3.6と3.7の両方があります。aptinstallpython3-xxxの場合、xxxは/ usr/lib/python3/dist-packagesにインストールされますが、pip3は/ usr /にxxxをインストールしますlocal/lib/python3.7(my default python version)/ dist-packages。そしてpythonをバージョン3.6に変更すると、pip3によってインストールされたxxxはできませんでしたaptによってインストールされている間は正常に動作します。

0
Charing Lau

どちらを使用する必要がありますか:apt-getとpipはどちらも成熟したパッケージマネージャーであり、インストール中に他のパッケージ依存関係を自動的にインストールします。誰でも好きなように使うことができます。ただし、特定のバージョンのpython-packageをインストールする必要がある場合、またはパッケージをvirtualenvにインストールする必要がある場合、またはPyPIでのみホストされているパッケージをインストールする必要がある場合。ピップだけがその問題の解決に役立ちます。それ以外の場合、システム全体の場所にパッケージをインストールしてもかまわない場合は、apt-getとpipのどちらを使用してもかまいません。

0
Ysh