AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1798270
Accepted
King David
King David
Asked: 2023-07-21 13:08:11 +0800 CST2023-07-21 13:08:11 +0800 CST 2023-07-21 13:08:11 +0800 CST

Nenhum módulo chamado yum ao trabalhar no RHEL 8

  • 772

Como nosso aplicativo funciona com python2, precisamos mudar para o RHEL 8

Depois de instalarmos python2na máquina RHEL 8, vemos o seguinte:

rpm -qa | grep python2
python2-pip-9.0.3-19.module+el8.6.0+13001+ad200bd9.noarch
python2-setuptools-wheel-39.0.1-13.module+el8.4.0+9442+27d0e81c.noarch
python2-pip-wheel-9.0.3-19.module+el8.6.0+13001+ad200bd9.noarch
python2-2.7.18-11.module+el8.7.0+15681+7a92afba.x86_64
python2-libs-2.7.18-11.module+el8.7.0+15681+7a92afba.x86_64
python2-setuptools-39.0.1-13.module+el8.4.0+9442+27d0e81c.noarch

mas quando tentamos usar import yum, obtemos um erro sobre 'Nenhum módulo chamado yum' com a seguinte saída:

python
Python 2.7.18 (default, Jun 17 2022, 07:56:00)
[GCC 8.5.0 20210514 (Red Hat 8.5.0-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import yum
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named yum

O rpm instalado para o yum é:

rpm -qa | grep yum
yum-4.4.2-11.el8.noarch
yum-utils-4.0.18-4.el8.noarch

e yum aparece como:

more /usr/bin/yum
#!/usr/bin/python
import sys
try:
    import yum
except ImportError:
    print >> sys.stderr, """\
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   %s

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:
%s

If you cannot solve this problem yourself, please go to
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

""" % (sys.exc_value, sys.version)
    sys.exit(1)

sys.path.insert(0, '/usr/share/yum-cli')
try:
    import yummain
    yummain.user_main(sys.argv[1:], exit_code=True)
except KeyboardInterrupt, e:
    print >> sys.stderr, "\n\nExiting on user cancel."
    sys.exit(1)

e da pip2lista obtemos esta saída:

pip2 list
pip (9.0.3)
setuptools (39.0.1)

Então, por que estamos recebendo o erro sobre No module named yum?

https://www.getpagespeed.com/solutions/python-scripts-running-on-rocky-linux-8-can-not-import-yum

https://access.redhat.com/solutions/4289441

python
  • 1 1 respostas
  • 219 Views

1 respostas

  • Voted
  1. Best Answer
    DrZoo
    2023-07-21T13:48:07+08:002023-07-21T13:48:07+08:00

    Depois de examinar uma pergunta do StackO, uma correção simples pode fazer uma alteração no arquivo /usr/bin/yum. Altere a primeira linha !#/usr/bin/pythonpara!#/usr/bin/python2.7

    Há também uma solução de portal do cliente RHEL mais recente, mas mais complexa , de 25 de abril de 2023.

    Resoluções

    Existem várias causas possíveis para esse problema. Normalmente, esse problema é resultado da definição incorreta do caminho do python. O caminho python sys.path é construído dinamicamente durante a inicialização do python usando vários métodos, portanto, dependendo do sistema em questão, a correção pode ser uma das seguintes:

    Resolução 1

    Desmarque a variável PYTHONHOME:

    # unset PYTHONHOME

    Para mudança permanente, remova a entrada do .bashrc ou .bash_profile do root, se presente.

    Reinstale o pacote python executando o seguinte comando:

    # rpm -Uvh --replacefiles --replacepkgs python-<version>.rpm

    Resolução 2

    Se não houver variável PYTHONHOME definida, verifique se não há nenhum python de terceiros localizado abaixo do local /lib/ impróprio em vez de /lib64/. Verifique o caminho do python e também o ldd para ver quais arquivos estão sendo carregados:

     # python -c "import sys; print(sys.path)" ['',
     '/usr/lib64/python27.zip', '/usr/lib64/python2.7',
     '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk',
     '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload',
     '/usr/lib64/python2.7/site-packages',
     '/usr/lib/python2.7/site-packages']
     
     # ldd /usr/bin/python
         linux-vdso.so.1 =>  (0x00007ffd46b3b000)
         libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007efe38aaf000)  <-----take note of this file location
         libpthread.so.0 => /lib64/libpthread.so.0 (0x00007efe38893000)
         libdl.so.2 => /lib64/libdl.so.2 (0x00007efe3868f000)
         libutil.so.1 => /lib64/libutil.so.1 (0x00007efe3848c000)
         libm.so.6 => /lib64/libm.so.6 (0x00007efe3818a000)
         libc.so.6 => /lib64/libc.so.6 (0x00007efe37dbc000)
         /lib64/ld-linux-x86-64.so.2 (0x00007efe38e7b000)
    

    A saída acima indica o que é esperado. Se você vir /usr/lib/python2.7 sendo carregado em vez de /usr/lib64/python2.7, verifique o seguinte:

    # ls -l /lib/libpython2.7.so.1.0

    # rpm -qf /lib/libpython2.7.so.1.0

    Se você achar que existe um arquivo em /lib/libpython2.7.so.1.0 e ele não pertence a nenhum pacote, mova esse arquivo para o lado e veja se o problema persiste:

    # mv /lib/libpython2.7.so.1.0 /tmp/

    O python priorizado também pode estar em /root/.local, portanto, certifique-se de que não haja nenhum python nesse caminho.

    Raiz dos problemas)

    • A variável PYTHONHOME foi definida como variável de ambiente no sistema.
    • Bibliotecas/arquivos Python são modificados, o que pode ser observado na saída do comando rpm -Va.
    • Módulos python de terceiros são instalados no sistema que são encontrados na saída do comando ldd /usr/bin/python.
    • O pacote rpm-python* não está instalado.
    • Há um /lib/libpython2.7.so.1.0 de terceiros que está sendo carregado em vez do local apropriado do sistema de /lib64/libpython2.7.so.1.0. Isso faz com que o caminho de pesquisa do módulo python definido por sys.path seja definido incorretamente, fazendo com que o sistema não encontre os módulos python instalados
    • 3

relate perguntas

  • Conda quebra ao ativar o ambiente -- CommandNotFoundError: Nenhum comando 'conda conda'

  • Documentação do Notepad++ e Python

  • SCons construídos com desenvolvimento gcc8

  • Matplotlib - Erro de instalação do mapa base

  • pip não vai atualizar ou instalar módulos corretamente

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve