저는 Mac을 처음 접했고 분명히 일종의 오류를 범했습니다. 저는 튜토리얼을 통해 파이썬을 배우고 있으며, Homebrew, Pip 및 XCode 사이에서 어떻게 든 내 버전이 모두 혼합되어 있습니다. Pip3은 python2를 가리 키므로 모든 python3 시도가 실패합니다.
I “m 모든 버전을 안전하게 제거하고 새로 설치 (자작?)하는 방법을 연구하고 있지만 약간 긴장됩니다.
훌륭한 링크를 찾았습니다.
분명히 하나는 “루트 /system
디렉토리에있는 어떤 것도 건드리지 않고, 기본적으로 다른 모든 것은 삭제됩니다. . 나를 긴장하게 만드는 것은이 링크가 꽤 오래되었다는 것입니다. (6 년! +) 나는 그들을 정말로 신뢰하는지 확실하지 않습니다.
최근 여기에 온 사람이 있습니까? 위에 링크 된 게시물을 신뢰할 수 있습니까? 이 파이썬 버전 엉망을 어떻게 정리합니까? 참고 : 저는 MacOS Sierra (10.12.5)를 사용하고 있습니다.
Answer
그래서 모든 Python 설치를 제거했습니다. Homebrew를 통해 항목을 다시 설치합니다.
-
which python
—>/Library/Frameworks/Python.framework/Versions/2.7/bin/python
전체 Python.framework를 삭제합니다./Library/Frameworks
의 디렉토리입니다. -
which python3
—>/usr/local/bin/python3
전체 python3 디렉토리를 삭제합니다. -
심볼 링크에 대해 약간 긴장했습니다. 처음에는 분명히 문제를 일으킬 수있는 이름을 변경했습니다. 불필요하다는 것이 밝혀졌습니다. 대신 사용하세요. :
$ 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 버전)이 완벽하게 작동했습니다. 위의 모든 심볼릭 링크를 제거했습니다. -
homebrew를 통해 python 및 python3을 다시 설치합니다. 모두 완료되었습니다.
/System
폴더에있는 Python 설치를 한 번도 만지지 않았습니다.
아, 그리고 분명합니다. 원래 질문에 대한 답은
예, 쓰여진대로 이전 참조를 신뢰할 수 있습니다! 이 지침은 여전히 유효합니다.
댓글
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/...
/System/Library/Frameworks/Python.framework/
를 제거해서는 안된다는 점을 언급하고 문서를 링크하세요. python.org/3/using/mac.html