長い話を短く

長い話を短く

Pythonパッケージは多くのディストリビューションのリポジトリでホストされています。読んだ後これチュートリアル、特に「本当にこれを行いますか?」というタイトルのセクションでは、pipを使用しないでシステムリポジトリを使用することを好み、リポジトリにないパッケージをインストールする必要がある場合にのみpipを使用しました。

しかし、これは一貫性のないインストール方法なので、単にpipを使用するのが良いでしょうか?両方の場所で利用可能なパッケージにシステム独自のリポジトリの代わりにpipを使用すると、どのような利点/欠点がありますか?

リンクステータスを含めました

常に標準のDebian / NeuroDebianパッケージを使用する利点は、これらのパッケージが互いに互換性を確保するために慎重にテストされることです。 Debian パッケージは他のライブラリへの依存関係を文書化するため、インストール中に必要なライブラリを常に取得できます。

私はアーチを使用しています。 aptに加えて、他のパッケージ管理システムでも同じですか?

ベストアンサー1

私の考えでは、Pythonモジュール(システムモジュールでもユーザーモジュールでも)を使用してシステムにインストールすることの主な欠点は、ディストリビューションpipのパッケージ管理システムがそれについて知らないことです。つまり、それを必要とする他のパッケージでは使用されず、後でインストールしようとしている可能性があります(またはアップグレード後にモジュールの1つを使用し始めることもできます)。これにより、pip両方のモジュールのリリース管理が終了します。問題を引き起こす可能性のあるバージョン(私はこの例はまたあります最近の)。したがって、あなたの質問は、最終的にすべてまたは専務の提案です。ただPythonモジュールの場合、pipPythonモジュールを使用するすべてのものに対してディストリビューションのパッケージマネージャを使用できなくなります。

あなたがリンクしたページに提供されている一般的なアドバイスはとても良いです。可能であれば、ディストリビューションパッケージをpipパッケージ化されていないモジュールにのみ使用します。そうする場合は、システム全体ではなくユーザー設定でそれを実行してください。特にモジュール開発の場合は、可能であれば仮想環境を使用してください。特に、アーチでは、問題になる可能性があるディストリビューションでも、古いモジュールによって引き起こされる問題は発生しないでください。仮想環境ではこれを簡単に処理できます。

ディストリビューションのライブラリとモジュールパッケージが主にディストリビューションの他のパッケージで使用するためにパッケージ化されることを考慮することは価値があります。これらのパッケージを持つことは、そのライブラリとモジュールを使用して開発するための良い副作用ですが、これが主なユースケースではありません。

おすすめ記事