
Estou usando uma instalação bastante antiga do Linux, o sistema python não inclui o Python 3.7. No entanto, instalei o Python 3.7, como pode ser visto na seguinte saída do terminal, mas gostaria de instruir o instalador do pacote a acessá-lo quando tentar executar uma instalação:
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 ~ $
É possível fazer isso?
Responder1
Como você não informou qual distribuição Linux baseada em apt está usando, presumo que seja o Debian. Isto deve se aplicar a distribuições derivadas, desde que o pacote equivs
abaixo exista.
Você realmente deveria atualizar seu sistema para uma versão recente/suportada, porque você começará a ter cada vez mais problemas de dependência.
De qualquer forma, para satisfazer seu problema de dependência, você pode tentar usar o pacoteequivs
:
[...]
Outro uso é contornar a verificação de dependências: deixando o dpkg pensar que um determinado nome e versão de pacote está instalado quando não está, você pode contornar bugs nas dependências de outros pacotes. (Por favor, ainda registre esses bugs.)
Você deveria criar um arquivo de controle com equivs-control
:
equivs-control python3
edite o arquivo criado python3
, para o seu caso você pode adicionar ou alterar as linhas relevantes para:
Package: python3
Version: 3.7.7
Architecture: all
(e qualquer outro campo que você considere útil, como Description
)
Em seguida, execute equivs-build python3
para criar um pacote vazio (neste caso) chamado, python3_3.7.7_all.deb
que você pode instalar usando dpkg -i python3_3.7.7_all.deb
.
Isso satisfará as dependências, mas não oferece garantia de que você terá um resultado funcional: depende do que você realmente fornece com sua própria instalação do python. O mínimo que você pode fazer é garantir, se ainda não estiver presente, que também exista um link simbólico chamado python3
. Pode ter que estar presente em /usr/bin/
e não apenas em /usr/local/bin/
.