pip установить horovod не удается на conda + OSX 10.14 - PullRequest
0 голосов
/ 22 марта 2019

Запуск pip install horovod в среде conda с установленным pytorch привел к

error: None of TensorFlow, PyTorch, or MXNet plugins were built. See errors above.

, где корневая проблема в верхней части стандартного вывода:

ld: library not found for -lstdc++ clang: error: linker command failed with exit code 1 (use -v to see invocation) INFO: Unable to build PyTorch plugin, will skip it.

1 Ответ

0 голосов
/ 22 марта 2019

CFLAGS=-mmacosx-version-min=10.9 pip install horovod, вдохновленный этим, казалось бы, не связанным выпуском Horovod .

Эта тема вопроса от панд имеет хорошее объяснение:

Стандартная библиотека компилятора по умолчанию - libstdc ++ или libc ++, в зависимости от целевой версии macOS - libstdc ++ для 10.8 и ниже и libc ++ для 10.9 и выше. Это определяется переменной среды MACOSX_DEPLOYMENT_TARGET или параметром компилятора -mmacosx-version-min, в противном случае по умолчанию используется системная версия.

Когда distuils создает расширения в macOS, он устанавливает MACOSX_DEPLOYMENT_TARGET в версию, с которой был скомпилирован python, даже если хост-система / Xcode новее.

В последних версиях Python для MacOS имеется только 64-битный вариант, созданный для 10.9 (python.org), и универсальный 64/32-битный вариант, созданный для 10.6 (python.org) или 10.7 (conda). Я использую универсальный вариант conda, поэтому distutils предназначается для macOS 10.7, несмотря на то, что моя система 10.14, с Xcode 10, который не устанавливает libstdc ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...