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

저는 Mac을 처음 접했고 분명히 일종의 오류를 범했습니다. 저는 튜토리얼을 통해 파이썬을 배우고 있으며, Homebrew, Pip 및 XCode 사이에서 어떻게 든 내 버전이 모두 혼합되어 있습니다. Pip3은 python2를 가리 키므로 모든 python3 시도가 실패합니다.

I “m 모든 버전을 안전하게 제거하고 새로 설치 (자작?)하는 방법을 연구하고 있지만 약간 긴장됩니다.

훌륭한 링크를 찾았습니다.

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

최근 여기에 온 사람이 있습니까? 위에 링크 된 게시물을 신뢰할 수 있습니까? 이 파이썬 버전 엉망을 어떻게 정리합니까? 참고 : 저는 MacOS Sierra (10.12.5)를 사용하고 있습니다.

Answer

그래서 모든 Python 설치를 제거했습니다. 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 폴더에있는 Python 설치를 한 번도 만지지 않았습니다.

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

예, 쓰여진대로 이전 참조를 신뢰할 수 있습니다! 이 지침은 여전히 유효합니다.

댓글

  • @nohillside thx하지만 .. 여기 XXXX의 최근 입력을 쉽게 인정하여 여기에 주석으로 편집을 요청했습니다. 이상한 어트 리뷰 션 미스가 보입니다 .. newby '는 댓글을 게시 할 수 없습니까? 이제 ' 제출 이름을 직접 볼 수 없습니다.
  • 저작자 표시를 얻는 가장 좋은 방법은 편집이 필요한 경우 실제로 게시물을 편집하는 것입니다. , 모든 사용자 (익명 사용자 포함)가 할 수있는 작업입니다. 사용자가 개선 의견을 답변으로 게시하기로 선택한 경우 일반적으로 관련 게시물에 편집합니다.
  • Python의 Homebrew 버전에는 마지막으로 확인한 끌과 같은 도구 나 Xcode에 대한 지원이 포함되지 않습니다. 따라서 일반적으로 권장되지 않습니다.
  • /System/Library/Frameworks/Python.framework/를 제거해서는 안된다는 점을 언급하고 문서를 링크하세요. python.org/3/using/mac.html
  • 새 버전에는 추출 정리 기능이 있습니다.

Answer

Python 버전이 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을 가리 키도록

Answer

시스템 파일은 시스템 무결성 보호로 보호됩니다. SIP를 먼저 비활성화하지 않고는 / System의 임의 폴더에 대해 이러한 지침을 따를 수 없습니다.

그러나 파일이 보호되기 때문에 알고 있습니다. 파일이 수정되지 않았습니다. 버전 혼란은 셸 설정으로 인한 것이며 “어쨌든 시스템 파일을 수정해도 변경되지 않습니다.”macOS에 존재한다고 보장되는 이러한 파일을 건 드리면 안됩니다.

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

댓글

  • 예, 두 참조를 신뢰해도 괜찮습니다. 또는 아니요 , ' 그들을 신뢰하지 않습니까? 이러한 참조는 고품질이고 합리적이며 매우 자세하게 설명되어 있습니다.
  • @zipzit 신뢰할 수 있지만 ' t 작동합니다. ' 두 개의 개별 항목입니다.내용은 신뢰할 수 있습니다. 최신 버전의 macOS에서 사용해 보면 ' 어떤 해를 끼치 지 않지만 ' 이유로 인해 작동하지 않습니다. 이 답변에 주어진. 시스템 Python 설치를 제거하기 위해 SIP를 비활성화하지 않는 것이 좋습니다 (이 때문에 ' 지침에 연결되지 않았습니다). ' 문제의 실제 원인이 아니며 ' 아무것도 해결하지 못하여 잠재적으로 프로세스에서 더 많은 문제를 일으킬 수 있습니다.
  • 답변이 아닙니다. ' 이해가되지 않습니다. 위에 링크 된 품질 답변 중 어느 것도 /system의 내용에 영향을주지 않습니다. 없음 = 하나가 아님, 제로, 우편 번호, 나다. 1) Applications 폴더의 Python 3.3 폴더에서 삭제할 항목이 있습니다. 2) /Library/Frameworks/Python.framework 3) ~ 20 개의 심볼릭 링크가 / usr / local / bin에 있습니다. 4) 쉘 경로의 참조 (존재하는 경우). '이 중 어떤 것도 귀하가 말하는 보호 조치에 영향을 미치지 않을 것이라고 생각합니다. 내가 뭘 놓치고 있니?
  • @zipzit 얼마 전에 Python이 / Library에서 / System / Library로 옮겨 졌기 때문에 시스템 설치를 제거하기 위해 / System을 터치하게 될 것입니다. 시스템 Python 프레임 워크는 / Library가 아닌 /System/Library/Frameworks/Python.framework에 있습니다.
  • $which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3 + python 2.3, 2.4, 2.5, 2.7 및 현재 위치 : System/Library/Frameworks/Python.framework/Versions/...

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다