apt パッケージインストーラに別の Python バージョンにアクセスするように指示する

apt パッケージインストーラに別の Python バージョンにアクセスするように指示する

私はかなり古い Linux インストールを使用していますが、システムの Python には Python 3.7 が含まれていません。ただし、次のターミナル出力でわかるように、Python 3.7 はインストールされていますが、インストールを実行しようとするときにパッケージ インストーラーにそれにアクセスするように指示したいと思います。

cardamom@jupiter ~ $ python --version
Python 2.7.12
cardamom@jupiter ~ $ python3.7 --version
Python 3.7.7
cardamom@jupiter ~ $ sudo apt install -y dangerzone
[sudo] Passwort für cardamom: 
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
 dangerzone : Hängt ab von: python3:any (>= 3.7~)
E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete.
cardamom@jupiter ~ $ 

それは可能ですか?

答え1

equivs使用している apt ベースの Linux ディストリビューションを指定していないため、Debian であると仮定します。以下のパッケージが存在する限り、派生ディストリビューションにもこれが適用されるはずです。

依存関係の問題がますます多く発生するようになるため、システムを最新バージョンまたはサポートされているバージョンにアップグレードする必要があります。

とにかく、依存関係の問題を解決するために、パッケージを試してみることができますequivs:

[...]

もう 1 つの用途は、依存関係のチェックを回避することです。特定のパッケージ名とバージョンがインストールされていないのに、dpkg にインストールされていると思わせることで、他のパッケージの依存関係のバグを回避できます。(ただし、そのようなバグは報告してください。)

次のように制御ファイルを作成する必要がありますequivs-control:

equivs-control python3

作成されたファイルを編集しpython3、あなたのケースでは関連する行を追加または変更できます:

Package: python3
Version: 3.7.7
Architecture: all

(その他、役に立つと思われるフィールドなどDescription

次に、 をequivs-build python3実行して、 と呼ばれる空の (この場合は) パッケージを作成します。python3_3.7.7_all.debこのパッケージは、 を使用してインストールできますdpkg -i python3_3.7.7_all.deb

これは依存関係を満たしますが、動作する結果が得られるという保証はありません。これは、独自の Python インストールで実際に提供するものに依存します。 少なくとも、 というシンボリックリンクがまだ存在しない場合は、 も存在することを確認する必要があります。だけでなく にpython3も存在する必要があるかもしれません。/usr/bin//usr/local/bin/

関連情報