UbuntuマシンにDjangoサイトをデプロイしようとしています。Psycopg2とPILをインストールする必要がありますが、apt-getまたはpipを使用してインストールできるようです。 2つの方法でインストールすることに違いはありますか?pipを使用すると仮想環境にインストールできますが、apt-getを使用するとグローバルpython環境にインストールされます。
あなたはおそらくapt-getの利点をすでに知っているでしょう。自動更新通知、それらのツールを必要とする他のapt-installedパッケージは、それらがインストールされていることを認識します。
Pipを使用すると、インストール時に最新バージョンを取得していることがわかり、デフォルト以外のバージョンのPythonにインストールでき、virtualenvにインストールできます。
Pipが提供する機能を必要とせず、APTで利用できない他のPythonパッケージを定期的にインストールする必要がない場合は、APTバージョン。
この質問に対するほとんどの回答は、apt-get
を使用する利点の1つを見逃しています。
apt-get
はプリコンパイル済みであり、pip
よりもはるかに高速インストールされます。
Numpy、matplotlib、pandas、およびその他のscipy関連のモジュールをインストールするには、apt-get
は数秒しかかかりません。 pip
は簡単に10分以上を消費できます。
ルートアクセス権があり、少し古いバージョンを気にしない場合は、apt-get
が高速で心配のない方法です。
パッケージマネージャーで何が行われるかは統合テストを受けますが、Pypiで何が行われるかはテストされていないことに注意してください。
Pypiは開発に問題ありません。
本番環境では、Pypiを使用できますが、パッケージマネージャーの内容に常に依存できることがすぐにわかります...
一部のOSパッケージマネージャーはパッケージのカスタマイズを行い、パッケージの動作を壊したり変更したりする可能性があるため、pipを使用してPythonパッケージをインストールすることを常にお勧めします。
パッケージをグローバルにインストールする必要がある場合:
$ Sudo pip install PACKAGE
そして、 PyPI またはプロジェクトのリンクからパッケージをダウンロードしようとします。
私はこれについて何かを見つけました。私の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によってインストールされている間は正常に動作します。
どちらを使用する必要がありますか:apt-getとpipはどちらも成熟したパッケージマネージャーであり、インストール中に他のパッケージ依存関係を自動的にインストールします。誰でも好きなように使うことができます。ただし、特定のバージョンのpython-packageをインストールする必要がある場合、またはパッケージをvirtualenvにインストールする必要がある場合、またはPyPIでのみホストされているパッケージをインストールする必要がある場合。ピップだけがその問題の解決に役立ちます。それ以外の場合、システム全体の場所にパッケージをインストールしてもかまわない場合は、apt-getとpipのどちらを使用してもかまいません。