pyenv zlib error на MacOS:

Моя цель

Я пытаюсь установить Python 2.7.5 и 3.6.5 бок о бок на моем MBP с помощью pyenv.

Установка pyenv

Следующее Как я могу использовать Homebrew для установки обоих Python 2 и 3 на Mac? , Я старался:

$ pyenv install 3.6.5

Из-за чего:

python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.6.5.tar.xz...
-> https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
Installing Python-3.6.5...
python-build: use readline from homebrew

BUILD FAILED (OS X 10.13.4 using python-build 20160602)

Inspect or clean up the working tree at /var/folders/d0/t8d3jjp161g2dyrd4k67ypc80000gn/T/python-build.20180426091253.34709
Results logged to /var/folders/d0/t8d3jjp161g2dyrd4k67ypc80000gn/T/python-build.20180426091253.34709.log

Last 10 log lines:
  File "/private/var/folders/d0/t8d3jjp161g2dyrd4k67ypc80000gn/T/python-build.20180426091253.34709/Python-3.6.5/Lib/ensurepip/__main__.py", line 5, in <module>
    sys.exit(ensurepip._main())
  File "/private/var/folders/d0/t8d3jjp161g2dyrd4k67ypc80000gn/T/python-build.20180426091253.34709/Python-3.6.5/Lib/ensurepip/__init__.py", line 204, in _main
    default_pip=args.default_pip,
  File "/private/var/folders/d0/t8d3jjp161g2dyrd4k67ypc80000gn/T/python-build.20180426091253.34709/Python-3.6.5/Lib/ensurepip/__init__.py", line 117, in _bootstrap
    return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/private/var/folders/d0/t8d3jjp161g2dyrd4k67ypc80000gn/T/python-build.20180426091253.34709/Python-3.6.5/Lib/ensurepip/__init__.py", line 27, in _run_pip
    import pip
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

Что я пробовал?

  • Установка zlib: brew install zlib

Мой вопрос

Как установить несколько Python-среды с pyenv на MBP?

Ответ 1

На Мохаве, после установки инструментов командной строки Xcode, пришлось выполнить следующее:

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

Ответ 2

brew install zlib
export LDFLAGS="-L/usr/local/opt/zlib/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include"
pyenv install 3.7.2

Ответ Самсина не сработал для меня. У меня не было Packages dir

Ответ 3

Обновление XCode Tools сделало трюк:

xcode-select --install

Ответ 4

В вики pyenv есть страница, посвященная типичным проблемам сборки. Есть несколько возможных решений, упомянутых для отсутствующей ошибки zlib.

У меня тот же ZipImportError, но с помощью следующей команды установка прошла успешно:

CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install 3.6.5