E ai pessoal, beleza?
Esta sema enfrentei um terrível problema, após executar atualizar o sistema (Cent’OS 5.4), fui instalar um pacote qualquer pelo yum e dei de cara com a mensagem:
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named cElementTree
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.4.3 (#1, Sep 3 2009, 15:37:12)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://wiki.linux.duke.edu/YumFaq
Antes de pensar em uma possível solução, vamos mapear os últimos eventos relacionados com pacotes no sistema:
- Adicionei os repositórios “remi, epel e rpm-forge”
- Atualizei o sistema
- o YUM pára de funcionar
Até o ponto 2, tudo foi feito a partir do yum, isto significa dizer que o erro está relacionado com o evento mais próximo ao erro.
Para saber o que pode ter acontecido, vamos aos logs do yum e tentar encontrar o que ocorreu na última vez que o mesmo foi executado com sucesso que poderia causar o dito cujo erro: “No module named cElementTree“:
Pode parecer coincidencia mas no final do arquivo, ou melhor, na última linha, veja o que encontrei: “Apr 05 22:59:28 Updated: python-elementtree-1.2.6-7.fc3.rf.i386“, nada mais nada menos dizendo que dita cuja “elementtree” foi atualizada.
Se isto parece está relacionado com o nosso problema, que tal fazer um downgrade da mesma?
Fazendo o downgrade do pacote python-elementtree
Crie um arquivo chamado “erro-yum-elementtree.sh” em um diretório qualquer.
vim ~/erro-yum-elementtree.sh
vim ~/erro-yum-elementtree.sh
Coloque o código abaixo no arquivo:
#!/bin/sh
#-----------------------------------------------------------------------------#
# Description: Resolvendo o erro "No module named cElementTree" do YUM #
# #
# Este script volta a versão do pacote python-elementtree para a #
# versão oficial do CentOS 5.4 e bloqueia a atualização do mesmo #
# pelo YUM. #
# #
# Author: Moisés P. Sena #
# Author Link: http://www.moisespsena.com #
# Link: http://linux.moisespsena.com #
# Font: http://linux.moisespsena.com/ #
# solucao-do-erro-no-module-named-celementtree-centos #
#-----------------------------------------------------------------------------#
# identificar se a arquitetura do sistema
arch=$(arch | grep x86_64)
arch=${arch:-i386}
# fazer o downgrade do pacote
rpm -Uvh --oldpackage "http://mirror.centos.org/centos-5/5.4/os/$arch/CentOS/python-elementtree-1.2.6-5.$arch.rpm"
# bloquear a atualização do pacote python-elementtree
yumexclude=$(cat /etc/yum.conf | grep "^exclude=")
if [ "$yumexclude" = '' ];
then
echo "
exclude=python-elementtre*
" >> /etc/yum.conf
else
sed -e 's/^exclude=/exclude=python-elementtre\* /g' /etc/yum.conf > /tmp/yum.conf
mv -f /tmp/yum.conf /etc/yum.conf
fi#!/bin/sh
#-----------------------------------------------------------------------------#
# Description: Resolvendo o erro "No module named cElementTree" do YUM #
# #
# Este script volta a versão do pacote python-elementtree para a #
# versão oficial do CentOS 5.4 e bloqueia a atualização do mesmo #
# pelo YUM. #
# #
# Author: Moisés P. Sena #
# Author Link: http://www.moisespsena.com #
# Link: http://linux.moisespsena.com #
# Font: http://linux.moisespsena.com/ #
# solucao-do-erro-no-module-named-celementtree-centos #
#-----------------------------------------------------------------------------#
# identificar se a arquitetura do sistema
arch=$(arch | grep x86_64)
arch=${arch:-i386}
# fazer o downgrade do pacote
rpm -Uvh --oldpackage "http://mirror.centos.org/centos-5/5.4/os/$arch/CentOS/python-elementtree-1.2.6-5.$arch.rpm"
# bloquear a atualização do pacote python-elementtree
yumexclude=$(cat /etc/yum.conf | grep "^exclude=")
if [ "$yumexclude" = '' ];
then
echo "
exclude=python-elementtre*
" >> /etc/yum.conf
else
sed -e 's/^exclude=/exclude=python-elementtre\* /g' /etc/yum.conf > /tmp/yum.conf
mv -f /tmp/yum.conf /etc/yum.conf
fi
Salve o arquivo e feche o editor: pressione ESC, digite “:wq”.
Considerando que você está logado com permissões de root, execute o arquivo
sh ~/erro-yum-elementtree.sh
sh ~/erro-yum-elementtree.sh
Bom pessoal, é isto aí, espero ter contribuído.
Fiquem com Deus.