[pyenv] macos Big Sur 문제 Develop Tip

Big Sur 가 오랫동안 유지되던 10.xx 에서 드디어 11 대로 판올림이 되었습니다.
아마도 ARM 과 Intel 이 공존하는 OS 라 설치 버전도 기존의 두배가 넘는 거의 12G 정도 
되었고 여러 다른 변화가 있었을 것인데 이전 하드웨어에서 벽돌이 된다는 보고도 꽤 있었던 것
같습니다.

다만 저는 불행 중 다행이랄까 작년에 미국출장 때 2014 맥북프로를 도둑맞고 구입한 2019
맥북프로라 큰 이상없이 잘 올라갔지만, 몇가지 문제점 들이 발겨되었는데,
그 중 하나는 pyenv의 install 이 제대로 안된다는 것이었습니다.


구글링을 하고 몇차례 시도를 하였는데 계속 오류가 발생했습니다..

오류 메시지는 우선,

SYSTEM_VERSION_COMPAT=1 pyenv install 3.8.5
라고 설치하려 하였으나,

Inspect or clean up the working tree at /var/folders/x8/pr3_nxs156vb3j00k8nmcd900000gn/T/python-build.20201204003234.65903
Results logged to /var/folders/x8/pr3_nxs156vb3j00k8nmcd900000gn/T/python-build.20201204003234.65903.log

Last 10 log lines:
    mod_name, mod_spec, code = _get_module_details(mod_name)
  File "/private/var/folders/x8/pr3_nxs156vb3j00k8nmcd900000gn/T/python-build.20201204003234.65903/Python-3.8.5/Lib/runpy.py", line 144, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/private/var/folders/x8/pr3_nxs156vb3j00k8nmcd900000gn/T/python-build.20201204003234.65903/Python-3.8.5/Lib/runpy.py", line 111, in _get_module_details
    __import__(pkg_name)
  File "<frozen zipimport>", line 241, in load_module
  File "<frozen zipimport>", line 709, in _get_module_code
  File "<frozen zipimport>", line 570, in _get_data
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

와 같은 오류가 발생했습니다.

결국은 brew로 설치한 zlib 가 문제가 있었고,

brew unlink zlib
Error: No such keg: /usr/local/Cellar/zlib

zlib를 삭제 하려고 해도 위와 같은 오류가 나와서,

rm -rf /usr/local/opt/zlib  /usr/local/Cellar/zlib

라고 명령을 내리고 다시 

brew install zlib 
라고 하니 잘 설치되었습니다.

이제 정상 설치를 하려고 해도,
zipimport.ZipImportError: can't decompress data; zlib not available
오류는 계속 나옵니다.

임시겠지만 결국은 다음과 같은 식으로 설치를 했습니다.


CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.8.0 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)


CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.7.5 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)

위에서 3.8.0 대신 3.7.5 그리고 3.6.12  등으로 성공적으로 설치를 했습니다.
곧 개선된 방안이 나오기를 바랍니다.


어느 분께는 도움이 되셨기를 ..

덧글

  • 정우준 2020/12/23 17:29 # 삭제 답글

    감사합니다. 겨우 설치했네요 ㅎㅎ
  • 지훈현서아빠 2020/12/24 00:24 #

    도움이 되셨다니 저의 보람입니다.. ^^
  • 전영훈 2021/05/09 02:12 # 삭제 답글

    감사합니다. 덕분에 에러 편하게 해결했습니다 :)
  • 지훈현서아빠 2021/05/10 11:50 #

    도움이 되셨다니 저의 보람입니다.. ^^
  • JinAru16 2021/07/19 02:14 # 삭제 답글

    정말 감사합니다.. 12시간동안 씨름하다 겨우겨우 설치했네요 ㅠㅠ
  • 지훈현서아빠 2021/07/20 10:08 #

    최근에 다시 iTerm을 복사해서 로제타로 열개 하여 intel 호환 상태에서
    pyenv를 설치하는게 intel 용으로 하게 해서 더 호환성이 좋더라구요.
    그렇게 하는 방법도 있으니 참고해 주셔요..
댓글 입력 영역

구글애드텍스트