Ontem, atualizei meu sistema operacional do ubuntu 16.04 para 18.04.
Desde então, um dos meus módulos python (no python 2.7) não funciona mais. Tentando importá-lo, ocorreu um erro.
Este módulo usa código fortran com f2py, então tentei update-alternatives
voltar ao gcc-5 e gfotran-5 antes de fazê-lo novamente.
Até certo ponto, isso melhorou a situação, já que o python agora aceita importar o módulo. No entanto, ele ainda não funciona quando tento usá-lo, lançando erros que começam com:
capi_return is NULL
Call-back "some_routine" failed.
Encorajado por esse progresso aparente, quero ver se o erro restante se deve a uma incompatibilidade entre as versões do compilador usadas para criar o módulo e o próprio python. De fato, o python foi compilado com o gcc 7.3.
É possível recompilar o python 2.7 com o gcc-5?
O que eu tentei: Depois de mudar para versões mais antigas do compilador, entrei no modo de console e fiz:
sudo apt-get install --reinstall python
Mas o python ainda diz que foi compilado com o gcc 7.3.
Outra coisa poderia ter mudado entre as duas versões do sistema operacional que quebraram o módulo?
Quero enfatizar que não escrevi o módulo pessoalmente e que funcionou bem antes da atualização do sistema operacional.
Agradecemos antecipadamente por suas sugestões :)
fonte
apt
não compila programas da fonte, instala pacotes pré-compilados.Respostas:
Isso ocorre porque o Ubuntu 18.04 não vem com o Python2. Ele vem com o Python3 por padrão. Você pode instalar facilmente o python2 ao lado do python3. Então seus módulos funcionarão novamente.
Você não precisa compilar nada. Basta instalar o python 2:
Você pode verificar qual versão é qual usando o argumento version:
fonte