DEV Community

Jakub T
Jakub T

Posted on

7 1

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

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top 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
 
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
 
raoul profile image
Raoul

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

Collapse
 
ruslanskira profile image
Ruslan Skira

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

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay