PyEnv BUILD FAILED установил Python на MacOS

При попытке установить Python 3.6.6 (для Airflow) с помощью PyEnv на MacOS я сталкиваюсь с PyEnv сборки при следующей трассировке стека

Файл "/private/var/folders/6y/kf699bqj2sgcgjshb20fr5zh0000gn/T/python-build.20180721180716.86347/Python-3.6.6/Lib/xmlrpc/client.py", строка 138, из файла xml.parsers import expat "/var/folders/6y/kf699bqj2sgcgjshb20fr5zh0000gn/T/python-build.20180721180716.86347/Python-3.6.6/Lib/xml/parsers/expat.py ", строка 4, из импорта из pyexpat * ModuleNotFoundError: без имени модуля: имя модуля make: *** [установить] Ошибка 1

BUILD FAILED (OS X 10.13.6 с использованием python-build 20180424)

Проверьте или очистите рабочее дерево в /var/folders/6y/kf699bqj2sgcgjshb20fr5zh0000gn/T/python-build.20180721180716.86347 Результаты, записанные в /var/folder/6y/kf699bqj2sgcgjsh

Я выполнил шаги, упомянутые в документации для настройки PyEnv на Mac помощью Homebrew.


Версии среды/фреймворка

  • MacOS High Sierra 10.13.6
  • Homebrew 1.7.1
  • PyEnv 1.2.6
  • Существующие дистрибутивы Python
    • Python 2.7.15 [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
    • Python 3.7.0 [Clang 9.0.0 (clang-900.0.39.2)] on darwin

Ответы

Ответ 1

У меня была эта проблема с Mojave и Python 3.7.3.

Это сработало для меня:

SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk MACOSX_DEPLOYMENT_TARGET=10.14 pyenv install 3.7.3

Ответ 3

Единственный способ заставить его работать через префиксы ниже перед установкой

CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include 
-I$(xcrun --show-sdk-path)/usr/include" \
LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" \
PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 \
pyenv install -v 3.7.1

Ответ 4

Мне удалось сойти с вышеупомянутой ошибкой, ссылаясь на общие проблемы сборки

  • brew install readline xz
  • xcode-select --install
  • brew install openssl

После этого я установил и инициализировал pyenv

  • brew install pyenv
  • pyenv init (внутри директории вашего проекта)

Наконец, установите и активируйте требуемую версию python

  • pyenv установить 3.6.6
  • pyenv local 3.6.6 (внутри директории вашего проекта)

Здесь ссылка на оригинальную тему # 1188 на GitHub от @Harry Moreno

Ответ 5

краткий ответ:

$ brew upgrade

теперь вы можете попробовать установить python через pyenv

$ pyenv install 3.7.4

Затем вы должны установить путь Python

pyenv global 3.7.4

теперь закройте и откройте новый терминал и напишите команду

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

Это все. Для меня это было хорошо.

Ответ 6

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

Inspect or clean up the working tree at /var/folders/kt/79hj2dxs5vg7gsy188n6tk9c0000gn/T/python-build.20190226112205.71745
Results logged to /var/folders/kt/79hj2dxs5vg7gsy188n6tk9c0000gn/T/python-build.20190226112205.71745.log

Last 10 log lines:
  File "/private/var/folders/kt/79hj2dxs5vg7gsy188n6tk9c0000gn/T/python-build.20190226112205.71745/Python-3.6.6/Lib/ensurepip/__main__.py", line 5, in <module>
    sys.exit(ensurepip._main())
  File "/private/var/folders/kt/79hj2dxs5vg7gsy188n6tk9c0000gn/T/python-build.20190226112205.71745/Python-3.6.6/Lib/ensurepip/__init__.py", line 204, in _main
    default_pip=args.default_pip,
  File "/private/var/folders/kt/79hj2dxs5vg7gsy188n6tk9c0000gn/T/python-build.20190226112205.71745/Python-3.6.6/Lib/ensurepip/__init__.py", line 117, in _bootstrap
    return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/private/var/folders/kt/79hj2dxs5vg7gsy188n6tk9c0000gn/T/python-build.20190226112205.71745/Python-3.6.6/Lib/ensurepip/__init__.py", line 27, in _run_pip
    import pip._internal

Я нашел решение от http://digidememory.blogspot.com/2019/01/macos-mojave-10142python371.html

В моем случае я решил эту команду

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

Ответ 7

Это сработало для меня:

  1. удалите папку CommandLineTools в /Library/Developer
  2. запустить в терминале: xcode-select --install
  3. sudo mv/usr/local/include/usr/local/include_old