Mac에서 Python 제거 및 재설치 —이 오래된 참조를 신뢰할 수 있습니까?


36

나는 Mac에 익숙하지 않으며 분명히 일종의 오류가 발생했습니다. 나는 튜토리얼을 통해 파이썬을 배우고 Homebrew, Pip 및 XCode 사이에서 어떻게 든 내 버전이 혼합되어 있습니다. Pip3은 python2를 가리 키므로 모든 python3 시험은 실패합니다.

모든 버전을 안전하게 제거하고 새로 설치 (홈 브루?)를 위해 촬영하는 방법을 연구하고 있지만 약간 긴장합니다.

훌륭한 링크를 발견했습니다.

분명히 루트 /system디렉토리의 어떤 것도 건드리지 않으며 기본적으로 다른 모든 것은 삭제됩니다. 나를 긴장하게 만드는 것은이 링크가 꽤 오래되었다는 것입니다. (6 년! +) 나는 정말로 그들을 신뢰하는지 확실하지 않다.

최근에 여기에 아무도 없었나요? 위에 링크 된 게시물을 신뢰할 수 있습니까? 이 파이썬 버전 엉망을 어떻게 정리합니까? 참고 : MacOS Sierra (10.12.5)를 사용하고 있습니다

답변:


34

그래서 모든 파이썬 설치를 제거하고 Homebrew를 통해 다시 설치했습니다.

  1. which python---> /Library/Frameworks/Python.framework/Versions/2.7/bin/python 에서 전체 Python.framework 디렉토리를 삭제하십시오 /Library/Frameworks.
  2. which python3---> /usr/local/bin/python3 전체 python3 디렉토리를 삭제하십시오.
  3. 나는 심볼릭 링크에 대해 약간 긴장했다. 나는 처음에 분명히 문제를 일으켰던 이름을 변경했습니다. 그것은 불필요하다는 것이 밝혀졌습니다. 대신 다음을 사용하십시오.

    $ brew doctor
    Warning: Broken symlinks were found. Remove them with 'brew prune':
      /usr/local/bin/python-32
      /usr/local/bin/python2-32
      /usr/local/bin/python2.7-32
      /usr/local/bin/python2_DNU
      /usr/local/bin/python_DNU
      /usr/local/bin/pythonw-32
      /usr/local/bin/pythonw2-32
      /usr/local/bin/pythonw2.7-32

    따라서 brew prune(또는 brew cleanup --prune최신 버전의 Homebrew) 완벽하게 작동했습니다. 위의 모든 심볼릭 링크를 제거했습니다.

  4. homebrew를 통해 python 및 python3을 다시 설치하십시오. 다 했어요

/System폴더 에있는 파이썬 설치를 결코 만지지 않았습니다 .

아, 그리고 분명하다. 원래 질문에 대한 답은

예, 서면으로 이전 참조를 신뢰할 수 있습니다! 그 지침은 여전히 ​​유효합니다.


@nohillside thx but .. 여기에서 XXXX의 최근 입력을 쉽게 확인할 수 있었으므로 여기에서 의견으로 편집을 촉구했습니다. 이상한 귀인이 누락 된 것 같습니다. newby는 댓글을 올릴 수 없습니까? 이제 제출 이름을 직접 볼 수 없습니다.
zipzit

기여를 얻는 가장 좋은 방법은 모든 사용자 (익명 사용자도 가능)가 편집 할 수있는 경우 실제로 게시물을 편집하는 것입니다. 사용자가 개선 의견을 답변으로 게시하기로 선택한 경우 일반적으로 관련 게시물로 수정합니다.
nohillside

Python의 Homebrew 버전에는 마지막으로 확인한 chisel과 같은 Xcode 또는 툴링에 대한 지원이 포함되지 않습니다. 따라서 이것은 권장되지 않습니다.
nyteshade

언급 /System/Library/Frameworks/Python.framework/하지 말고 docs.python.org/3/using/mac.html
ivan.proskuryakov

새 버전으로 정리가 완료되었습니다
GraphicalDot

5

내 파이썬 버전은 3.6이었습니다. 3.7로 업그레이드하고 싶었습니다 (유사한 요구 사항이있는 경우). macOS 버전 10.12.6을 사용하고 있으며 제거 및 재설치가 저에게 효과적이었습니다.

brew uninstall --ignore-dependencies python3

그때:

brew install python3

그리고 완료 :

python3
Python 3.7.2 (default, Jan 13 2019, 12:51:54) 
[Clang 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

이것은 나를 위해 잘 작동했습니다. ipython시작 스크립트를 수동으로 편집 하여 경로 를 조정해야했습니다 . brew 버전의 python을 가리 키도록
javadba

0

시스템 파일은 시스템 무결성 보호에 의해 보호됩니다. rm -rfSIP를 먼저 비활성화하지 않으면 / System의 임의 폴더에 대해이 지침을 따를 수 없습니다 .

그러나 파일이 보호되므로 파일이 수정되지 않았 음을 알 수 있습니다. '버전 혼란'은 셸 설정으로 인한 것이며 시스템 파일을 수정해도 변경되지 않습니다. macOS에 존재한다고 보장되는 이러한 파일을 건드리지 않아야합니다.

Homebrew는 / usr / local / Cellar에 별도로 설치됩니다. Homebrew를 사용하여 Python 설치를 관리하고 시스템 설치를 완전히 무시하십시오.


그렇습니다. 두 참조를 믿어도됩니까, 아니면 믿지 않습니까? 이러한 참고 문헌은 품질이 우수하고 합리적이며 매우 상세하게 설명되어 있습니다.
zipzit

1
당신은 @zipzit 그들을 신뢰하지만, 그들은 작동하지 않습니다 - 별도의 두 가지입니다. 내용은 신뢰할 만합니다. 최신 버전의 macOS에서 시도하면 아무런 해를 끼치 지 않지만이 답변에 제공된 이유로 작동하지 않습니다. SIP를 비활성화하여 시스템 Python 설치를 제거하지 않기를 권장합니다 (이것은 지침에 연결되지 않은 이유입니다). 문제의 실제 원인이 아니기 때문에 아무것도 해결하지 않아 프로세스에서 더 많은 문제가 발생할 수 있기 때문입니다.
grg

당신의 대답은 이해가되지 않습니다. 위에 링크 된 품질 답변 중 어느 것도 안에 아무것도 없습니다 /system. 없음 = 1, 0, Zip, Nada가 아님. 응용 프로그램 폴더의 1) Python 3.3 폴더에서 삭제해야 할 것이 있습니다. 2) /Library/Frameworks/Python.framework 3) ~ usr / local / bin에 20 개의 심볼릭 링크가 있습니다. 4) 쉘 경로의 참조 (있는 경우). 나는 그들 중 어느 것도 당신이 말하는 보호에 부딪 칠 것이라고 생각하지 않을 것입니다. 내가 무엇을 놓치고 있습니까?
zipzit

@zipzit 얼마 전, 파이썬은 / Library에서 / System / Library로 옮겨 졌으므로 시스템 설치를 제거하기 위해 / System을 터치하게됩니다. 시스템 Python 프레임 워크는 / Library가 아닌 /System/Library/Frameworks/Python.framework에 있습니다.
grg

$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3플러스 파이썬 2.3, 2.4, 2.5, 2.7 및 전류에 위치System/Library/Frameworks/Python.framework/Versions/...
zipzit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.