zlib недоступен во время установки python 3.7.0 через pyenv, как я могу это исправить? - PullRequest
0 голосов
/ 04 июля 2018

ОС: MacOS 10.14 Beta

Цель: Установить Python 3.7.0 через PYENV

При попытке установить python 3.7.0 через pyenv я получаю эту ошибку, как я могу это исправить?

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

Шаги, предпринятые для исправления:

1) Переустановите XCODE

2) Переустановите инструменты командной строки XCODE

3) Считать похожие ошибки при переполнении стека

Альтернативные вопросы:

1) zlib должен прийти предустановленным, с какими проблемами я могу столкнуться?

2) Какой альтернативный способ вручную установить python в pyenv, который также будет распознаваться pynev?

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Специально для Python 3.7.0 я успешно сделал следующее:

Brew дает несколько хороших инструкций при запуске info zlib

$ brew info zlib
...
For compilers to find zlib you may need to set:
  export LDFLAGS="-L/usr/local/opt/zlib/lib"
  export CPPFLAGS="-I/usr/local/opt/zlib/include"
...

Итак, учитывая эти инструкции, я просто вырезал / вставил FTW:)

$ export LDFLAGS="-L/usr/local/opt/zlib/lib"
$ export CPPFLAGS="-I/usr/local/opt/zlib/include"
$ pyenv install 3.7.0   # Succeeded
0 голосов
/ 08 августа 2018

У меня была такая же проблема. Сначала я попытался установить python вручную с помощью

./configure --prefix /usr/local/var/pyenv/versions/3.5.5/
make
make install

Сборка завершена, но я также получаю сообщения об ошибках openssl и zlib. Затем я попытался снова с измененной средой сборки:

export CPPFLAGS="-I/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I$(brew --prefix openssl)/include"
export LDFLAGS="-L/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib -L$(brew --prefix openssl)/lib"

Что удалось.

Наконец я запустил в одной оболочке (с обеими экспортированными переменными):

pyenv install 3.5.5

Что тоже получилось :-) НТН

...