pip安装icu失败:Command "python setup.py egg_info" failed with error code 1 in

时间:2023-03-08 21:06:06
pip安装icu失败:Command "python setup.py egg_info" failed with error code 1 in

问题

Mac 下通过 pip 安装 icu 失败。

解决办法及原因

问题的原因是因为icu库中的某一行代码找不到一个文件,获取不到ICU_VERSION的值。

# Install icu
brew install icu4c # check newest version
ls /usr/local/Cellar/icu4c/ # Edit pyicu installer to work
git clone https://github.com/ovalhub/pyicu.git # edit setup.py not to query for the version, i.e. change
# ICU_VERSION = subprocess.check_output(('icu-config', '--version')).strip()
# to whatever your version is, e.g.
# ICU_VERSION = '57' # Install pyicu
env LDFLAGS=-L/usr/local/opt/icu4c/lib CPPFLAGS=-I/usr/local/opt/icu4c/include DYLD_LIBRARY_PATH=-L/usr/local/opt/icu4c/lib python setup.py build
env LDFLAGS=-L/usr/local/opt/icu4c/lib CPPFLAGS=-I/usr/local/opt/icu4c/include DYLD_LIBRARY_PATH=-L/usr/local/opt/icu4c/lib sudo python setup.py install # Change DYLD_LIBRARY_PATH (not sure if req'd)
DYLD_LIBRARY_PATH=/usr/local/Cellar/icu4c/57.1/:$DYLD_LIBRARY_PATH
echo $DYLD_LIBRARY_PATH # Icu works now from python, and you can proceed with polyglot
$ python
>>> import icu
$ pip install polyglot
$ python
>>> import polyglot

参考