特定のPyPIパッケージの適切なパッケージ名を決定するには?

特定のPyPIパッケージの適切なパッケージ名を決定するには?

Debian / DevuanシステムにPythonパッケージシステムをインストールしたいとしましょう。一部のPyPIパッケージには、リポジトリの適切なソースを介して使用できるDEBパッケージがあり、パッケージ名の前にpython3-(またはpython-Debianのバージョンによって)プレフィックスが付いています。しかし - 誰もがそうではありません。今はいつでもできます。独自のDEBパッケージを実行するしかし、 - 私が興味のあるパッケージが次のようなものであるかどうかはどうすればわかりますか?

  • 実際に消えた。
  • 使用可能ですが、別の名前を使用します(より短い形式、より長い形式、PyPIで変更されたレガシー名など)。
  • 利用可能ですが、他のPyPIパッケージにバンドルされています

?簡単なマッピングルールがあるか、PyPIパッケージ名を使用してクエリを実行し、適切なパッケージ名を取得できる場所がありますか?

ベストアンサー1

特定のPythonパッケージと一致するDebianパッケージを見つける最も安定した方法は、後者のインポート方法を理解することです。例えば、パンダデータベースimport from pandasql; Debianパッケージで利用可能な場合は公開されます/usr/lib/python3/dist-packages/pandasql

そのようなパッケージが存在するかどうかを確認するには、apt-fileまだ存在しない場合はインストールして次の質問をします。

sudo apt update
apt-file search /usr/lib/python3/dist-packages/pandasql

パッケージが存在する場合はapt-fileその名前が表示され、何も見つからない場合はパッケージが存在しません。

ほとんどの場合、Pythonバイナリパッケージはモジュール名を反映する必要がありますが、いくつかの注意事項とともに:

モジュールバイナリパッケージfooモジュール名が許可する場合は、名前を指定することをお勧めします。バイナリパッケージが複数のモジュールをインストールする場合は必要ありません。この場合、管理者はパッケージのモジュールを最もよく表す名前を選択する必要があります。python3-foo

パッケージの命名にモジュールで使用される名前は、とともに使用できる名前です。これは、setuptoolsとファイルとディレクトリに使用される名前と必ずしも同じである必要importはありません。たとえば、で説明されているモジュールはvia経由で使用されるため、対応するパッケージ名ではありません。PKG-INFO.egg-infopyxdg-*.egg-infoimport xdgpython3-xdgpython3-pyxdg

おすすめ記事