2014-05-11 4 views
8

나는 python3.3을 설치하고 pip3과 Django.now를 설치하려고합니다. yum을 사용하여 다른 사람을 설치하려고 시도합니다. 예 yum 업데이트Yum 작동하지 않습니까?

하나만 가져 오는 중에 문제가 발생했습니다. yum을 실행하려면 Python 모듈 이 필요합니다. 이 문제의 원인은 다음과 같습니다. yum 모듈 이 모듈을 제공하는 패키지를 설치하거나 모듈이 올바르게 설치되었는지 확인하십시오. 위의 모듈이 현재 버전의 Python과 일치하지 않을 수 있습니다 : 2.7.5 (기본값, Nov 12 2013, 16:18:42) [GCC 4.8.2 20131017 (Red Hat 4.8. 2-1)] 이 문제를 직접 해결할 수없는 경우에 냠 FAQ를 방문하시기 바랍니다 : http://yum.baseurl.org/wiki/Faq

어떻게이 오류를 해결할 수 있습니까?

+1

시스템 파이썬을 변경하면 안됩니다. '얌 (yum) '은 그것을 의지한다. 새로운 파이썬을 설치한다면, 그것을 대체 경로에 넣으십시오. 그런 다음'virtualenv'를 사용하여 새로운 파이썬을 원활하게 사용할 수 있습니다. – juanchopanza

+0

여기를 확인하십시오 : http://stackoverflow.com/questions/10624511/upgrade-python-without-breaking-yum – Mortezaipo

답변

2

동일한 문제가 있습니다.

Yum은 Python lang으로 작성되었습니다.

그래서 기본 파이썬을 새 버전으로 업그레이드하면 yum에 문제가 있습니다. python --version을 얻으면 3.3을 말할 것입니다.

이 문제를 해결하려면 python 명령을 python2.7으로 변경하십시오.

먼저 확인 :

[email protected]:~$ ls -l /usr/bin/python 
lrwxrwxrwx 1 root root 9 Sep 28 2013 /usr/bin/python -> python3.3 

그것을 시도 :

mv /usr/bin/python /usr/bin/python-origin 
ln -s python2.7 /usr/bin/python 

을 그 다음을 확인하십시오

[email protected]:~$ ls -l /usr/bin/python 
lrwxrwxrwx 1 root root 9 Sep 28 2013 /usr/bin/python -> python2.7 

을 당신이 소스를 통해 것을 설치해야합니다 CentOS는에 python3를 설치하려면 암호.

download main source code via python.org website. 
extract archive file. 
./configure 
make 
make install 
+0

파이썬 버전을 실행하려고 할 때 - 버전 2.7.5 –

+0

'less/usr/bin/yum'? – Mortezaipo

+0

#!/usr/bin/python –

8

시스템에는 많은 파이썬 버전이 있으며 그 중 하나에는 yum 라이브러리가 설치되어 있습니다. 어떤 이유로 인해 yum을 명령 줄에서 실행할 때 호출되는 python 바이너리는 yum 라이브러리가 설치된 사람이 아닙니다.

시스템에서 사용할 수있는 파이썬 2 바이너리 목록을 찾으십시오.

find/-type f -executable -name 'python2*' 

이 출력은 아마 다음과 같이 표시됩니다 : '

/usr/bin/python2.x 

당신에게

을 실행 등

/usr/bin/python2.6 
/usr/bin/python2.7 
... 

... 이들 각각에 대해

, 루트로 실행 파이썬 프롬프트가 나타납니다. 실행 :

>>> import yum 

이 단계에서 ImportError를 인상하지 않습니다를 찾을 때까지 모든 파이썬 바이너리에 대해이 작업을 수행합니다.

그런 다음 yum이 python을 실행하는 데 사용하는 경로를 찾으십시오. 이것은 yum 스크립트의 첫 번째 행입니다. 당신은 아마거야

cat `which yum` | head -1 

실행

ln -s /usr/bin/python2.x /usr/bin/python 

(이전에 볼 수있는 좋은 파이썬 버전 python2.x 교체) : 루트로 실행

이제
#!/usr/bin/python 

.

+0

당신이 옳습니다. 하지만 python2.6 대신 python2.7을 사용해야합니다. python2.7을 기본 파이썬 버전으로 만드는 방법은 무엇입니까? – Gank

+0

그 대답은'ln -s /usr/bin/python2.x/usr/bin/python' 명령의 목적입니다. /usr/bin/python2.x를 시스템의 python2.7 위치로 바꾸십시오. /usr/bin/python2.7이 아닌 경우'which python2.7'을 실행하여 그 위치를 찾습니다. –

+0

물론, python2.7이 실제로 시스템의 기본 파이썬이 되어야만하는 경우에만이 작업을 수행하십시오. python2.6이 배포판에서 공식적으로 지원되는 python 버전이라면 그렇게 보관해야합니다. python2.7로 앱을 실행하려면'python2.7 myapp.py'를 실행하십시오. –