Atualizando o Python 2.6. libpython2.6.so.1.0 faltando

0

Estou atualizando o python em uma caixa RHEL 6.4 offline de 64 bits e estou tendo que fazer isso via RPM em vez de yum. Eu estou tentando atualizar o python de 2.4.3 para 2.6 para que eu possa construir o nodejs a partir do código-fonte.

Estou com problemas quando corro

rpm -Uvh python26-2.6.8-2.el5.x86_64.rpm

Eu recebo um erro de dependências com falha:

libpython2.6.so.1.0() (64bit) is needed by python26-2.6.8-2.el5.x86_64

Eu não consigo encontrar de qualquer maneira para instalar o libpython2.6 embora ...

    
por Brendan Bernard 24.09.2013 / 04:35

2 respostas

2

Geralmente não é aconselhável tentar usar a versão do Python incluída em um sistema. Esses aplicativos não são tanto para os usuários, mas para suportar os aplicativos que são empacotados com o sistema operacional. Muito do encanamento interno da distro depende desses pacotes específicos do Python.

Se você precisa de versões específicas de Python, Perl, Ruby etc., você deve ter o hábito de usar sistemas como os seguintes para configurar suas próprias versões locais desses intérpretes:

pyenv

Este projeto costumava ser conhecido como pythonbrew , mas agora é conhecido como pyenv . Para instalá-lo, você precisa clonar uma cópia dele no diretório $HOME da seguinte forma:

$ git clone git://github.com/yyuu/pyenv.git .pyenv
Cloning into .pyenv...
remote: Counting objects: 2207, done.
remote: Compressing objects: 100% (617/617), done.
remote: Total 2207 (delta 1489), reused 2172 (delta 1462)
Receiving objects: 100% (2207/2207), 358.75 KiB, done.
Resolving deltas: 100% (1489/1489), done.

Agora adicione a configuração de pyenv ao seu arquivo ~/.bashrc :

$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> .bashrc
$ echo 'eval "$(pyenv init -)"' >> .bashrc

Você pode ver o uso de pyenv :

$ pyenv 
pyenv 0.4.0-20130613-17-ge1ea64b
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   global      Set or show the global Python version
   shell       Set or show the shell-specific Python version
   install     Install a Python version using the python-build plugin
   uninstall   Uninstall a specific Python version
   rehash      Rehash pyenv shims (run this after installing executables)
   version     Show the current Python version and its origin
   versions    List all Python versions available to pyenv
   which       Display the full path to an executable
   whence      List all Python versions that contain the given executable

See 'pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/yyuu/pyenv#readme

Você pode ver quais versões estão disponíveis:

$ pyenv versions
* system (set by /home/saml/.pyenv/version)

Agora vamos instalar o Python 3.2.5:

$ pyenv install 3.2.5
Downloading Python-3.2.5.tgz...
-> http://yyuu.github.io/pythons/ed8d5529d2aebc36b53f4e0a0c9e6728
Installing Python-3.2.5...
Installed Python-3.2.5 to /home/saml/.pyenv/versions/3.2.5

Downloading setuptools-0.9.5.tar.gz...
-> https://pypi.python.org/packages/source/s/setuptools/setuptools-0.9.5.tar.gz
Installing setuptools-0.9.5...
Installed setuptools-0.9.5 to /home/saml/.pyenv/versions/3.2.5

Downloading pip-1.3.1.tar.gz...
-> http://yyuu.github.io/pythons/cbb27a191cebc58997c4da8513863153
Installing pip-1.3.1...
Installed pip-1.3.1 to /home/saml/.pyenv/versions/3.2.5

Reconstrua nosso ambiente para incorporar a nova instalação:

$ pyenv rehash

Agora devemos ver duas versões disponíveis, o sistema ainda é o padrão ( * ):

$ pyenv versions
* system (set by /home/saml/.pyenv/version)
  3.2.5

Vamos para a versão 3.2.5:

$ pyenv which python
/usr/bin/python

$ pyenv global 3.2.5

$ pyenv which python
/home/saml/.pyenv/versions/3.2.5/bin/python

$ pyenv versions
  system
* 3.2.5 (set by /home/saml/.pyenv/version)

virtualenv & virtualenvwrapper

Esses dois módulos do Python fornecem mecanismos para manter espaços de trabalho separados onde os pacotes de sites podem ser mantidos. Eles são uma boa opção se você quiser isolar conjuntos de módulos do Python em conjuntos e associá-los a um determinado aplicativo Python. Eles são um pouco desajeitados de usar, mas fazem o trabalho.

Há um screencast que mostra como usar o virtualenvwrapper também. Para o Python, configurei virtualenv primeiro, seguido por virtualenvwrapper .

Exemplo

$ sudo easy_install virtualenv
$ easy_install virtualenvwrapper

Neste ponto, os 2 módulos do Python foram instalados. A partir daqui, você precisa configurar o seu ambiente, adicione o seguinte ao seu arquivo $HOME/.bashrc :

export WORKON_HOME=$HOME/.virtualenvs
source /usr/bin/virtualenvwrapper.sh

Agora, reenvie seu .bashrc :

$ source ~/.bashrc

Agora você está pronto para listar seus ambientes de trabalho:

$ workon
$

Você ainda não tem, então vamos criar um, vamos chamar de "temp":

$ mkvirtualenv temp
New python executable in temp/bin/python
Installing setuptools................done.

Agora, quando listamos novamente nossos worksets usando workon :

(temp)$ workon
temp

Observe que o prompt foi alterado para que o espaço de trabalho seja prefixado na frente do seu prompt. Agora, para removê-lo:

(temp)$ rmvirtualenv temp
Removing temp...
ERROR: You cannot remove the active environment ('temp').
Either switch to another environment, or run 'deactivate'.

Não é possível desativá-lo e seu prompt está de volta ao normal:

(temp)$ deactivate
$

Agora tente removê-lo:

$ rmvirtualenv temp
Removing temp...

Agora vamos recriá-lo novamente e cd para o nosso espaço de trabalho:

$ mkvirtualenv temp
New python executable in temp/bin/python
Installing setuptools................done.

(temp)$ cdvirtualenv 
(temp)$ ls
bin  include  lib  lib64

Agora confira os pacotes de site do espaço de trabalho "temp":

$ cdsitepackages 
(temp)$ pwd
/home/saml/.virtualenvs/temp/lib/python2.7/site-packages

Agora vamos instalar um módulo Python, smooshy , primeiro vamos procurá-lo usando pip :

(temp)$ pip search smooshy
smooshy                   - Automatic lossless image compression

Agora instale:

(temp)$ pip install smooshy
Downloading/unpacking smooshy
  Downloading smooshy-1.tar.gz
  Running setup.py egg_info for package smooshy

Requirement already satisfied (use --upgrade to upgrade): simplejson in /usr/lib64/python2.7/site-packages (from smooshy)
Installing collected packages: smooshy
  Running setup.py install for smooshy
    changing mode of build/scripts-2.7/smooshy from 664 to 775

    changing mode of /home/saml/.virtualenvs/temp/bin/smooshy to 775
Successfully installed smooshy
Cleaning up...

Para confirmar onde foi instalado:

(temp)$ which smooshy
~/.virtualenvs/temp/bin/smooshy
    
por 24.09.2013 / 04:54
2

Como você pode ver, o pacote python26-2.6.8-2.el5.x86_64.rpm depende de libpython2.6.so.1.0 () (64 bits)

Isso é fornecido por python26-libs-2.6.8-2.el5.x86_64.rpm

É necessário instalar ambos ao mesmo tempo, já que o python26-libs também depende do pacote python26:

rpm -Uvh python26-2.6.8-2.el5.x86_64.rpm python26-libs-2.6.8-2.el5.x86_64.rpm

O pacote python26 será instalado junto com o pacote python (2.4) que veio com o sistema e não substituirá o executável python , para executar python26 seu script !# ou linha de comando precisa especificar python26

    
por 07.01.2015 / 11:49

Tags