python 在Mac上安装libicu-dev

izj3ouym  于 2023-05-27  发布在  Python
关注(0)|答案(4)|浏览(151)

如何在Mac上安装libicu-dev这是文档中推荐的说明

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>

误差

u5rb5r59

u5rb5r591#

我刚让PyICU安装在OSX上,因为同样的错误它失败了。以下是我的建议:
1.安装homebrew(OSX的包管理器)

  1. brew install icu4c #安装库;可能已安装
    1.验证是否存在必要的包含目录:ls -l /usr/local/opt/icu4c/include/
    1.如果没有该目录,则可能需要重新安装icu4u。我发现我必须做到以下几点:
  2. brew remove icu4c
  3. brew install icu4c
    1.尝试安装polyglot,看看它是否能找到icu4c:pip install polyglot
    1.如果仍然有问题,您可以尝试指定库位置:CFLAGS=-I/usr/local/opt/icu4c/include LDFLAGS=-L/usr/local/opt/icu4c/lib pip install polyglot
    答:有进一步的变化。我目前安装icu的过程:
  4. brew install icu4c
  5. brew link icu4c --force
  6. ICU_VERSION=<BREW_ICU_VERSION> CFLAGS=-I/usr/local/opt/icu4c/include LDFLAGS=-L/usr/local/opt/icu4c/lib pip install pyicu
kuhbmx9i

kuhbmx9i3#

对我来说,简单的答案只是brew安装和链接不工作,所以我找到了下面的解决方案,使其工作:
1)使用brew安装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包:

pip install pyicu
bvpmtnay

bvpmtnay4#

  • Mac OS 13.4、Python 3.8(Xcode)、icu4c 72.1*

我首先尝试了Jessamyn的答案(https://stackoverflow.com/a/33352241/2793863),使用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重建。

相关问题