문제

안녕하세요, 파이썬을 2.4에서 2.6으로 업그레이드하는 데 문제가 있습니다.

나는 Centos 5 (full)가 있습니다.
그것은 python 2.4가 /usr/lib/python2.4/에 살고 있습니다.
추가 모듈은 /usr/lib/python2.4/site-packages/에 살고 있습니다.

나는 /usr/local/lib/python2.6/의 소스에서 Python 2.6을 만들었습니다.
기본 파이썬을 Python2.6으로 설정했습니다
이제 2.4의 오래된 모듈은 Pythonpath에서 벗어나 "손실"입니다.
특히 Yum은 깨졌습니다 ( "Yum이라는 모듈 없음")

그렇다면 모듈을 Python2.6으로 마이그레이션/설치하는 올바른 방법은 무엇입니까?

도움이 되었습니까?

해결책

그들은 깨지지 않고 단순히 설치되지 않았습니다. 이에 대한 해결책은 2.6 미만을 설치하는 것입니다. 그러나 먼저 우리는 당신이 정말로 그렇게 해야하는지 봐야합니다 ...

예, Python은 설치되면 Python 명령을 설치된 버전으로 바꿉니다 (-Alt-Install로 실행하지 않는 한). 당신은 당신의 문제가 무엇인지 정확히 언급하지 않으므로 추측 할 것입니다. 당신의 문제는 Python을 사용하는 많은 로컬 명령이 이제 Python 2.4가 아닌 Python 2.6에서 실행되기 때문에 이제 실패한다는 것입니다. 그 맞습니까?

그렇다면 간단히/usr/local/bin/python을 삭제하고/usr/bin/python이 /usr/bin/python2.4에 대한 상징적 링크인지 확인하십시오. 그런 다음 Python2,6을 실행하려면 Python2.6을 입력해야하지만 괜찮습니다. 그것이 가장 좋은 방법입니다. 그런 다음 패키지 만 설치하면됩니다 2.6에 필요합니다.

그러나 내 추측이 잘못되고 2.6 미만의 모든 패키지를 설치해야한다면 너무 걱정하지 마십시오. 우선, setuptools를 설치하십시오. Easy_Install 스크립트가 포함되어 있으며 다음으로 모듈을 설치할 수 있습니다.

easy_install <modulename>

pypi.python.org에서 모듈을 다운로드하여 설치합니다. 또한 종속성 인 모듈도 설치합니다. Easy_Install은 Distutils를 설치 프로그램으로 사용하는 모든 모듈을 설치할 수 있지만 많은 사람들은 그렇지 않습니다. 이렇게하면 해당 모듈의 90%를 산들 바람으로 설치할 수 있습니다.

모듈에 C 구성 요소가 있으면 컴파일 된 다음 라이브러리 헤더도 필요하며 더 많은 작업이 될 수 있으며 표준 센토 방식으로 설치할 수 있습니다.

라이브러리는 일반적으로 특정 버전에 대한 것이기 때문에 버전 간의 상징적 링크를 사용해서는 안됩니다. 2.4와 2.6의 경우 .pyc 파일은 호환 가능하다고 생각하지만 (100% 확실하지는 않지만) 작동 할 수 있지만 C를 사용하는 모든 모듈 ~ 할 것이다 부서지다. 그리고 다른 버전의 Python에는 호환되지 않는 .pyc 파일도 있습니다. 그리고 당신이 그렇게한다면, 대부분의 파이썬 사람들이 당신을 도와주지 않을 것이라고 확신합니다. ;-)

일반적으로 시스템 파이썬을 "깨끗하게"유지하려고합니다. 즉, 포장 도구와 함께 설치되지 않은 것은 아무것도 설치하지 않습니다. 대신 virtualenv 또는 buildout을 사용하여 모든 애플리케이션에 종속성이 생중계되는 고유 한 파이썬 경로를 갖도록합니다. 그래서 내가 가진 모든 단일 프로젝트에는 기본적으로 자체 라이브러리 세트가 있습니다. 그렇게 쉬워집니다.

다른 팁

몇 가지 옵션이 있습니다 ...

  1. 모듈이 Python 2.6에서 실행되면 2.6 Site-Packages 디렉토리에서 2.4 Site-Packages 디렉토리에 이르기까지 기호 링크를 만들 수 있습니다.

  2. 그들이 2.6 미만으로 실행되지 않으면 2.6에 대해 다시 컴파일하거나 최신 버전을 설치해야 할 수도 있습니다. 전화 할 때 2.6을 사용하고 있는지 확인하십시오 "python setup.py"

...

추가 문제가 발생하면 ServerFault.com 에이 글을 게시 할 수 있습니다.

Python 2.6에서와 같이 일부 파이썬 리브는 여전히 액세스 할 수 없을 수 있습니다. site-packages 변경됩니다 dist-packages.

이 경우 유일한 방법은 사이트 패키지 (예 : make install) dist 패키지를하고 Sym-Link를 만듭니다.

Easy_Install은 좋지만 모듈을 설치하는 레벨 방법이 낮습니다.

  1. 모듈 소스를 일부 디렉토리로 포장 해제합니다
  2. "Python setup.py install"입력

물론 필요한 설치된 Python 통역사 버전으로이를 수행해야합니다. 유형을 확인하려면 :

파이썬 -V

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top