21

I recently upgraded from Sierra to Mojave. After that I tried to use pyenv install 3.5.6. This uses homebrew in the background to try to install python, which fails with zipimport.ZipImportError: can't decompress data; zlib not available. The same command worked before the upgrade.

This question has been asked before and the generally accepted solution is to install xcode command line tools using this command: xcode-select --install.

I have both xcode 10 and the command line tools installed but zlib is still unavailable.

I tried installing zlib using homebrew but that didn't work either.

(Incidentally I also looked into installing python from a binary but there's no v3.5.6 binary for Mac OS X)

Any help appreciated.

geoidesic
  • 4,649
  • 3
  • 39
  • 59

3 Answers3

48

https://github.com/pyenv/pyenv/issues/1219

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
Matthew Simoneau
  • 6,199
  • 6
  • 35
  • 46
geoidesic
  • 4,649
  • 3
  • 39
  • 59
  • Confirmed.. This works on Mojave 10.14. Also it doesn't require you to install XCode or XCode command line tools separately. – rahul Dec 25 '18 at 23:06
  • 2
    This answer solves my `pyenv install 3.6.8` problem. Thanks! – C.K. Jan 14 '19 at 03:54
  • There is nothing there for me, the only thing in here look to be: `/Library/Developer/CommandLineTools/usr/share/man/whatis`. – cglacet Jun 04 '19 at 18:46
  • 1
    On the other hand the cflag workaround in the link worked, ie. `CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install 3.6.8` – cglacet Jun 04 '19 at 18:51
  • These headers aren't available in Catalina, best as I can tell... – Qasim Nov 24 '19 at 05:50
3

It helped me as well, answer is here: https://github.com/Homebrew/homebrew-core/issues/29176 More details, this works:

  1. brew update

  2. (Re)Install CLT.

    installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
    
  3. brew reinstall python@2

bschlueter
  • 3,817
  • 1
  • 30
  • 48
1

I needed an extra step to get it running on Mojave 10.14.05, Python 3.7. First:

export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"

then

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

see this post.

WhooNo
  • 911
  • 2
  • 12
  • 28