RHEL 6.x - yum fornece erros “ImportError: No module named cElementTree”

4

Estou fazendo um conjunto de alterações em um grupo de 150 servidores. Todos os sistemas conseguiram baixar e instalar com sucesso um conjunto específico de RPMs via yum , exceto um. Um neste sistema em particular, todos os comandos yum fora de "clean" descarregam o seguinte para a tela:

[root@dev1v ~]# yum install sssd
Loaded plugins: rhnplugin
/usr/lib64/python2.6/xmlrpclib.py:612: DeprecationWarning: The xmllib module is obsolete.  Use xml.sax instead.
  import xmllib # lazy subclassing (!)
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 285, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 136, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 434, in doCommands
    self._getTs(needTsRemove)
  File "/usr/lib/python2.6/site-packages/yum/depsolve.py", line 99, in _getTs
    self._getTsInfo(remove_only)
  .
  .
  .
  File "/usr/lib/python2.6/site-packages/yum/repoMDObject.py", line 124, in __init__
    self.parse(srcfile)
  File "/usr/lib/python2.6/site-packages/yum/repoMDObject.py", line 140, in parse
    parser = iterparse(infile)
  File "/usr/lib/python2.6/site-packages/yum/misc.py", line 1169, in cElementTree_iterparse
    _cElementTree_import()
  File "/usr/lib/python2.6/site-packages/yum/misc.py", line 1164, in _cElementTree_import
    import cElementTree
ImportError: No module named cElementTree

Eu tentei:

  • yum clean
  • reinstalando bits e peças manualmente via RPM ... expat , parte de python , etc.
  • reconstruindo o banco de dados RPM

Alguma opinião?

    
por ewwhite 25.02.2013 / 16:47

6 respostas

10

A correção:

Aparentemente, a instalação do Oracle neste sistema injetou o caminho do Oracle em LD_LIBRARY_PATH ...

[root@dev1v etc]# export 
declare -x LD_LIBRARY_PATH="/home/oracle/app/oracle/product/11.2.0/client_1/lib"

Desvinculação da variável permitida para que o yum funcione corretamente novamente.

    
por 25.02.2013 / 18:05
1

Hmm, no python 2.6, o cElementTree reside em /usr/lib64/python2.6/xml/etree/cElementTree.py, que faz parte do pacote python. O fato de você estar alcançando o import cElementTree no código yum indica que xml.etree parece estar faltando.

Tente reinstalar o python fazendo o download manual do rpm e usando rpm -Uvh .

Se isso não funcionar, o que acontece se você import xml.etree.cElementTree em um shell python? O que diz rpm --verify python ?

    
por 25.02.2013 / 18:03
1

Eu também vi alguém causando esse problema colocando o caminho lib/ do Oracle em /etc/ld.so.conf.d

Usando:

echo /opt/oracle/app/product/11.2.0/dbhome_1/lib/ > /etc/ld.so.conf.d/oracle.conf

Resolvido este problema removendo /etc/ld.so.conf.d/oracle.conf .

    
por 11.02.2014 / 13:50
0

Recentemente, resolvi este problema da seguinte maneira: (OS: CentOS 6.3 com o Oracle instalado).

  1. Edite /etc/profile e encontre export LD_LIBRARY_PATH linha, se presente.

  2. Adicione /lib64 antes de $ORACLE_HOME/lib

    export  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib64:$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib/oracle/11.2/client/lib
    
  3. Faça logout e reconecte-se como root.

por 20.11.2014 / 07:51
0

declare -x não funcionou.
Isso funcionou para mim.

[root@host ~]# unset LD_LIBRARY_PATH

Se alguma variável estiver definida em /etc/ld.so.conf, remova-a e execute o comando # ldconfig para recriar o cache ld.

[root@host ~]# ldconfig

Confirme se a biblioteca Python agora está vinculada à biblioteca /lib64/libexpat.so.1 correta.

[root@host ~]# ldd /usr/lib64/python2.6/lib-dynload/pyexpat.so
    
por 30.04.2015 / 09:13
-1

anular o LD_LIBRARY_PATH, ldconfig, ldd /usr/lib64/python2.6/lib-dynload/pyexpat.so

Como mencionado no link , isso funcionou para mim.

    
por 17.08.2017 / 07:33