SUSEがLeap 15.4でPython 3.6を提供するのはなぜですか?

SUSEがLeap 15.4でPython 3.6を提供するのはなぜですか?

私は最近、Ubuntu 20.04ベースのディストリビューションからopenSUSE Leap 15.4に切り替えました。私はSUSEのパッケージング決定のいくつかに比較的満足していますが、いくつかは混乱しています。

Python開発者として、私はUbuntuでPython 3.8を使用しており、最新のディストリビューションであるにもかかわらず、openSUSE Leap 15.4がすでにEOLになっているPython 3.6に同梱されていることに驚きました(参照)。スケジュール)。

3.6をデフォルトのシステムPythonとして使用すると、いくつかの深刻な問題が発生します。

  • PythonのEOLバージョンを使用すると、潜在的なセキュリティリスクがあります。 SUSEが展開したバージョンの開発を引き継いだとしても、アップストリームでサポートがまだ提供されているように、メンテナンスは積極的でよく監督されていないと思います。
  • Python 3.6がクラッシュしたことを考慮すると、多くのPythonパッケージはこれ以上サポートしません。したがって、影響を受ける開発者はバックポートリポジトリを介して3.10などの最新のPythonバージョンをインストールする必要があります。
  • しかし、ここには多くの欠点があります。多くのシステム提供のパッケージは単にサブプロセスを介して検索または#!/usr/bin/python3呼び出されるため、python3安全に再接続することはできません。python3python3.10
  • 最新のPythonははるかに小さいストレージパッケージセットを持っているので、システムとはあまり統合されていません。
    • たとえば、LibreOffice の Python バインディングを使用したい場合は、Python 3.6 に接続されているため不可能です。 .NETファイルに依存関係も含める必要がある場合Python >3.6
    • 同様に、システムが提供するPySide2 / PyQt5パッケージを使用できないため、ソースからビルドしたい場合を除き、システムのQtに動的に接続する代わりにQtの他のコピーをインストールする必要があります。これは、セキュリティ、ディスクスペース、およびアプリケーションスタイルの面で有害です(Qtのサードパーティのインストールにはシステムテーマへの適切なアクセス権がないため)。
    • 通常、PyPIを介してバイナリ拡張を含むパッケージをインストールすることはエレガントではありません。これらのパッケージはシステムライブラリによくリンクされているからです。

このすべてが、SUSEがPython 3.6をリリースすることにした理由は何ですか?この決定の根拠は何でしたか?

今どうすればいいですか?ソースから必要なすべてのパッケージをインストールしてみますか?または、最後の手段として割り当てを再度変更しますか?

ベストアンサー1

15.4は4番目のアップデートで、SLESソースを使用します。したがって、これは変更が好きではない会社のためであるため、元々リリースされたバージョンに固執し、リリース修正のみに固執する傾向があります。

SLES 15は以前のPythonバージョンでリリースされているため、可能であればSLES 16がリリースされるまでそのバージョンに固執します。バージョン 15.5 がまもなくリリースされると思われるので、2 年以上かかることがあります。

15.4にはPython 3.9と3.10が付属していますが、必要なサブパッケージの一部がないかもしれません。

これはビジネス決定です。

おすすめ記事