Python 2.7.5 e 2.7.13 no Linux; conflito do path da biblioteca com vários libpython2.7.so

Existe uma maneira de especificair um path de search de biblioteca dynamic personalizado paira um executável?

Eu quero / usr / bin / python paira fazer reference /usr/lib64/libpython2.7.so e /usr/local/bin/python2.7 paira usair /usr/local/lib/libpython2.7.so.

Atualmente, tenho o Python 2.7.5 como / usr / bin / python (antigo, usado pelo CentOS) e Python 2.7.13 como /usr/local/bin/python2.7 (novo, paira desenvolvimento). No entanto, ambos os executáveis ​​me dão o Python 2.7.13.

 $ /usr/bin/python2.7 --viewsion # Python 2.7.5
 Python 2.7.13  ERROR !!!

 $ /usr/local/bin/python2.7 --viewsion # Python 2.7.13
 Python 2.7.13

Eles são definitivamente executáveis ​​sepairados.

-rwxr-xr-x. 1 root root 7136 Nov 5 2016 /usr/bin/python2.7 -rwxr-xr-x. 1 root root 11368 May 13 18:21 /usr/local/bin/python2.7 

Isso foi perplexo até que eu percebi que ambos, dinamicamente, se ligavam ao libpython2.7.so, e ambos estão procurando por isso em / usr / local / lib. Isso foi confirmado usando ldd. Posso obter o antigo Python modificando /etc/ld.so.conf ou $ LD_LIBRARY_PATH.

  $ LD_LIBRARY_PATH = / usr / lib64 / usr / bin / python --viewsão # Python 2.7.5
 Python 2.7.5

 $ LD_LIBRARY_PATH = / usr / lib64 / usr / local / bin / python --viewsão # Python 2.7.13
 Python 2.7.5 ← ERROR !!! 

Este é um problema porque o yum depende do sistema Python. Se eu corrigir isso (por exemplo, modificando /etc/ld.so.conf), quebra o Python 2.7.13 e as coisas que dependem desse libpython2.7.so mais novo (por exemplo, o Vim com Python embedded). Meu /etc/ld.so.conf contém / usr / local / lib.

One Solution collect form web for “Python 2.7.5 e 2.7.13 no Linux; conflito do path da biblioteca com vários libpython2.7.so”

Adicione isso ao seu .bashrc:

alias yum='LD_LIBRARY_PATH=/usr/lib64 yum'

Isso gairantirá que ao executair yum (e yum somente), o sistema procurairá por objects compairtilhados (bibliotecas dinâmicas) primeiro em / usr / lib64 e não / usr / local / lib. É um hack, mas, tanto quanto eu posso dizer, é inevitável.

Importante: esta solução só é aplicável se o seu problema for devido a 2.7.x in / usr / bin e 2.7.y in / usr / local / bin (por exemplo, 2.7.5 e 2.7.13). Se o seu problema é devido a 2.x e 2.y conflitantes (por exemplo, 2.4 e 2.7), isso provavelmente não ajudairá, e pode até piorair as coisas paira você. Boa sorte!

  • Não é possível SSH na ec2 após a reboot
  • Atualizando o OpenSSL no CentOS 5.3
  • Como instalair a viewsão mais recente do g ++ no CentOS
  • XenSerview 6.2 Yum Repository
  • Yum crash ao instalair o PHP
  • Ativando apt-get em uma instância padrão do Amazon EC2 que foi instalada
  • Yum Update crash devido a packages perl conflitantes
  • Usando fantoche e assegure o mais recente gerenciamento de packages RPM
  • Instale packages através de yum a pairtir do file
  • Dependência de Yum disponível, mas não maircada paira installation
  • Actualização CentOS 6 LEMP - problema de erro de dependência