DEV Community

Jakub T
Jakub T

Posted on

pyenv install fails on MacOS 11 BigSur

If you are getting the following error:

pyenv install  3.8.6
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.6.tar.xz...
-> https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tar.xz

Installing Python-3.8.6...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk

BUILD FAILED (OS X 11.1 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/6x/cp1l4tr97y7g3jxm74n4c6v80000gn/T/python-build.20210106100539.35673
Results logged to /var/folders/6x/cp1l4tr97y7g3jxm74n4c6v80000gn/T/python-build.20210106100539.35673.log

Last 10 log lines:
    mod_name, mod_spec, code = _get_module_details(mod_name)
  File "/private/var/folders/6x/cp1l4tr97y7g3jxm74n4c6v80000gn/T/python-build.20210106100539.35673/Python-3.8.6/Lib/runpy.py", line 144, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/private/var/folders/6x/cp1l4tr97y7g3jxm74n4c6v80000gn/T/python-build.20210106100539.35673/Python-3.8.6/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
Enter fullscreen mode Exit fullscreen mode

It breaks because Python installation cannot find zlib.

The solution is easy - provide CFLAGS from the xcode sdk:

$ CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install 3.8.6
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.6.tar.xz...
-> https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tar.xz
Installing Python-3.8.6...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk


Installed Python-3.8.6 to /Users/kuba/.pyenv/versions/3.8.6
Enter fullscreen mode Exit fullscreen mode

Oldest comments (7)

Collapse
 
andy_carr_3fc7f3eec7aed17 profile image
Andy Carr

This unlocked a full day of messing with my python environments thank you.

Collapse
 
jcstein profile image
joshcs.eth

likewise! thank you Jakub

Collapse
 
ruslanskira profile image
Ruslan Skira

I'm still stuck with the same problem(( M1 mac

Collapse
 
joseph_garza_0cbc8d09d1ce profile image
Joseph Garza

Jakub, could you point me in the right direction, please. I am facing the same issue. In fact, the exact same issue when trying to install Python but my version is 2.7.7.

I infer that you are entering this code in the zshell in the M1 MacBook Pro, right?
If not, where is it that I should enter this code? I am really new to this. If I need to learn something else like xcode please point me in the direction that I need to be heading. Thanks in advance!

Collapse
 
digitaldisorder profile image
Jakub T

Hi Joseph,
unfortunately I don't have M1 MacBook or python 2.7 - so I cannot say if this is the same problem.

Collapse
 
gerardolsj profile image
Gerardo Jimenez

I tried with this solution but didn't work, but these one worked for python 3.5, 3.6 and 3.9

github.com/pyenv/pyenv/issues/1737...

Collapse
 
raoulcapello profile image
Raoul

This issue was about to drive me friggin' crazy ... 🤦 Many thanks for posting this Jakub 😄