Установка libicu-dev на Mac
Как мне установить libicu-dev на Mac? Это инструкция, рекомендованная в документации
sudo apt-get install python-numpy libicu-dev
http://polyglot.readthedocs.org/en/latest/Installation.html
Я использую анаконду, но, кажется, всегда бросаю
In file included from _icu.cpp:27:
./common.h:86:10: fatal error: 'unicode/utypes.h' file not found
#include <unicode/utypes.h>
ошибка
4 ответа
Я только что получил PyICU для установки на OSX, после того, как он вышел из строя из-за той же ошибки. Вот что я рекомендую:
- Установите homebrew (менеджер пакетов для OSX)
brew install icu4c
# Установить библиотеку; может быть уже установлен- Убедитесь в наличии необходимого каталога include:
ls -l /usr/local/opt/icu4c/include/
- Если у вас нет этого каталога, вам может потребоваться переустановить icu4u. Я обнаружил, что должен был сделать следующее:
brew remove icu4c
brew install icu4c
- Попробуйте установить полиглот, чтобы узнать, может ли он найти icu4c:
pip install polyglot
- Если это все еще вызывает недовольство, вы можете попробовать указать местоположение библиотеки:
CFLAGS=-I/usr/local/opt/icu4c/include LDFLAGS=-L/usr/local/opt/icu4c/lib pip install polyglot
brew install icu4c
brew link icu4c --force
Для меня простой ответ с установкой только brew и связыванием не работает, поэтому я нашел следующее решение, чтобы оно работало:
1) установить icu4c
с заваркой:
brew install icu4c
2) проверить версию:
ls /usr/local/Cellar/icu4c/
это подсказывает что-то вроде:59.1
3) выполнить следующие команды с подстановкой правильной версии из предыдущего шага (первая строка только целая часть, вторая и третья строка с десятичной частью):
export ICU_VERSION=59
export PYICU_INCLUDES=/usr/local/Cellar/icu4c/59.1/include
export PYICU_LFLAGS=-L/usr/local/Cellar/icu4c/59.1/lib
4) наконец, установите пакет python для pyicu:
pip install pyicu
Mac OS 13.4, Python 3.8 (Xcode), icu4c 72.1
Сначала я попробовал ответ Джессамина ( /questions/21851248/ustanovka-libicu-dev-na-mac/21851255#21851255) сICU_VERSION=<BREW_ICU_VERSION> CFLAGS=-I/usr/local/opt/icu4c/include LDFLAGS=-L/usr/local/opt/icu4c/lib pip install pyicu
, он был построен, но произошел сбой во время выполнения:
ImportError: dlopen(/Users/catalinp/Library/Python/3.8/lib/python/site-packages/icu/_icu_.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace '__ZN6icu_7218AnnualTimeZoneRule8MAX_YEARE'
У меня сработало следующее:
PKG_CONFIG_PATH=/usr/local/opt/icu4c/lib/pkgconfig pip3 install pyicu
Заметьте, на практике у меня тоже было--force-reinstall --ignore-installed --no-binary :all:
чтобы заставить pip перестроиться.