Python 2.6으로 업그레이드하세요. libpython2.6.so.1.0이 없습니다

Python 2.6으로 업그레이드하세요. libpython2.6.so.1.0이 없습니다

오프라인 64비트 RHEL 6.4 시스템에서 Python을 업그레이드하고 있는데 yum 대신 RPM을 통해 수행해야 합니다. 소스에서 nodejs를 빌드할 수 있도록 Python을 2.4.3에서 2.6으로 업그레이드하려고 합니다.

달릴 때 문제가 생겼어요

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

종속성 실패 오류가 발생합니다.

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

어쨌든 libpython2.6이 설치된 것을 찾을 수 없습니다 ...

답변1

시스템에 포함된 Python 버전을 손상시키려고 시도하는 것은 일반적으로 현명하지 않습니다. 이러한 애플리케이션은 사용자를 위해 존재하는 것이 아니라 운영 체제와 함께 번들로 제공되는 애플리케이션을 지원하기 위한 것입니다. 배포판 내부 파이프라인의 대부분은 이러한 특정 Python 패키지에 의존합니다.

Python, Perl, Ruby 등의 특정 버전이 필요한 경우 다음과 같은 시스템을 사용하여 이러한 인터프리터의 로컬 버전을 설정하는 습관을 들여야 합니다.

피엔브

이 프로젝트는 한때 호출되었습니다.파이썬 양조이지만 지금은 이라고 합니다 pyenv. 설치하려면 다음과 같이 복사본을 $HOME디렉터리에 복제해야 합니다.

$ 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.

pyenv이제 파일 에 설정을 추가합니다 ~/.bashrc.

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

다음 사용법을 볼 수 있습니다 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

사용 가능한 버전을 볼 수 있습니다.

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

이제 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

새 설치를 통합하도록 환경을 다시 구축합니다.

$ pyenv rehash

이제 사용 가능한 두 가지 버전이 표시되며 시스템은 여전히 ​​기본값( *)입니다.

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

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)

가상 환경 및 가상 환경 래퍼

이 2개의 Python 모듈은 사이트 패키지를 유지 관리할 수 있는 별도의 작업 공간을 유지 관리하는 메커니즘을 제공합니다. Python 모듈 컬렉션을 격리하여 특정 Python 애플리케이션에 연결하려는 경우 좋은 선택입니다. 사용하기가 조금 불편하지만 작업은 완료됩니다.

하나 있다virtualenvwrapper 사용 방법을 보여주는 스크린캐스트게다가. Python의 경우 먼저 를 설정한 virtualenv다음 virtualenvwrapper.

$ sudo easy_install virtualenv
$ easy_install virtualenvwrapper

이제 두 개의 Python 모듈이 설치되었습니다. 여기에서 환경을 설정하고 $HOME/.bashrc파일에 다음을 추가해야 합니다.

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

이제 리소스를 재할당하세요 .bashrc.

$ source ~/.bashrc

이제 작업 환경을 나열할 준비가 되었습니다.

$ workon
$

아직 하나도 없기 때문에 하나를 만들어서 "temp"라고 부르겠습니다.

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

이제 다음을 사용하여 작업 세트를 다시 나열합니다 workon.

(temp)$ workon
temp

작업 공간의 프롬프트 앞에 접두사가 표시되도록 프롬프트가 변경되었습니다. 이제 삭제하세요.

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

이와 같이 비활성화할 수 있는 방법은 없습니다. 프롬프트가 정상으로 돌아갑니다.

(temp)$ deactivate
$

이제 삭제해 보세요.

$ rmvirtualenv temp
Removing temp...

이제 다시 생성하고 작업 공간에 CD를 넣어 보겠습니다.

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

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

이제 "임시" 작업 공간 사이트 패키지를 확인하세요.

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

이제 Python 모듈을 설치해 보겠습니다. smooshy먼저 다음 명령을 사용하여 검색해 보겠습니다 pip.

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

이제 설치하세요:

(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...

설치된 위치를 확인하려면:

(temp)$ which smooshy
~/.virtualenvs/temp/bin/smooshy

답변2

보시다시피 이 python26-2.6.8-2.el5.x86_64.rpm패키지는 libpython2.6.so.1.0()(64비트)에 의존합니다.

이는 다음으로 인해 발생합니다.python26-libs-2.6.8-2.el5.x86_64.rpm

그러나 python26-libs도 python26 패키지에 의존하므로 둘 다 설치해야 합니다.

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

python26패키지는 시스템과 함께 제공되는 (2.4) 패키지와 함께 설치되며 실행 파일을 python대체하지 않습니다 python. python26을 실행하려면 스크립트 !#또는 명령줄에서 다음을 지정해야 합니다.python26

관련 정보