내 컴퓨터에 Python이 여러 개 있습니까? 그 중 하나를 제거하는 방법은 무엇입니까?

내 컴퓨터에 Python이 여러 개 있습니까? 그 중 하나를 제거하는 방법은 무엇입니까?

Python에서 numpy 버전이 업데이트되지 않는 문제가 있었습니다 pip install - U numpy.https://stackoverflow.com/questions/26390895/why-isnt-pip-updating-my-numpy-and-scipy

그러므로 내 컴퓨터에 여러 개의 비단뱀이 있는지 의심됩니다.

실행하면 which -a python다음이 반환됩니다.

/usr/bin/python
/bin/python

이것은 내 컴퓨터에 두 개의 Python이 있다는 것을 의미합니까? 이것이 사실이라면 그 중 하나를 제거하고 싶습니다. 나는 노력했다 yum remove python. 하지만 달리는 동안에도 두 마리의 비단뱀을 볼 수 있었습니다 which -a python.

답변1

which python실행파일만 알려주세요달리기명령을 사용하십시오 python. 즉, 지정하지 않는 한 일반적으로 각 인수에 대해 하나의 결과를 반환합니다. -a이 경우 환경 변수의 모든 디렉터리를 검색합니다 $PATH. 그러나 모든 경우에 동일한 명령입니다 python.

Python의 버전이 몇 개인지 알고 싶다면설치됨시스템에서는 또는 중 하나를 사용하는 것이 더 locate /python | grep /bin좋습니다 .ls -l /usr/bin/python*yum --showduplicates list python

python인스턴스 의 경우 그 중 하나가 [기호] 링크일 가능성이 높습니다 which -a python | xargs ls -li. 특정 버전의 Python을 제거하려면 yum명령줄에서 해당 버전 번호를 지정해야 합니다(예: ) yum remove python-2.7.2.el5s2.

편집하다: 처럼매트 뎀/bin이는 Fedora의 심볼릭 링크 인 것으로 알려졌습니다 /usr/bin. 따라서 이러한 위치에서는 Python을 삭제할 수 없습니다. rm그렇지 않으면 Python이 전혀 삭제됩니다. 이 경우 -iin에 대한 인수는 두 Python 인스턴스가 동일한 inode를 가지고 있음을 나타냅니다.lswhich -a python | xargs ls -li

그렇지 않으니 참고하세요필수의패키지 관리자의 목적은 정확히 종속성 요구 사항에 따라 버전을 완전히 추출하는 것이므로 버전별 패키지를 수동으로 제거합니다. 특정 버전이 설치되어 있는 경우에는 그럴 만한 이유가 있습니다. 하나의 패키지를 제거하면 다른 패키지도 제거될 수 있습니다.

마지막으로, 배포판의 패키지 관리자를 사용하여 패키지와 해당 종속성, 특히 배포판의 리포지토리에 속하는 패키지를 설치해야 합니다. 이것이 불가능하지 않는 한. 제가 틀렸을 수도 있지만 일부 주요 패키지를 업데이트하려고 한다면 pip패키지 관리자가 혼란스러워서 수동으로 충족한 종속성을 엉망으로 만들 가능성이 높습니다. (실제로는 그 반대입니다. pip종속성을 관리하는 것은 지저분할 수 있습니다 yum.)

답변2

모든 최신 Fedora 버전에는 /bin심볼릭 링크가 있습니다 /usr/bin. 즉, /bin을 보면 실제로는 /usr/bin으로 리디렉션됩니다. 하지만,둘 다나타나는 것 $PATH(아마도 정리되어야 할 것임)은 which -a python동일한 바이너리를 효과적으로 얻는 두 가지 방법입니다.

따라서 여기에는 문제가 없습니다.

(그러나 pip와 rpm(yum) 설치를 혼합하여 설치한다는 점에 유의하십시오.할 수 있는혼란스러운 결과를 제공하고 중복 버전을 설치할 수 있습니다. )

답변3

다들 감사 해요. 문제가 해결되었습니다. 내 컴퓨터에는 python3.3과 python2.7이 있습니다. yum 제거 python3을 통해 python3.3을 제거했습니다.

numpy 문제는 추가하여 해결되었습니다.

export PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7/site-packages/

도착하다 ./bashrc.

관련 정보