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