由于'icu-config'无法安装pyicu

Che*_*nlu 3 python macos pyicu

我正在尝试根据此链接在mac上为python 3.5安装pyicu https://struggley.wordpress.com/2015/07/14/installation-pyicu-on-mac-osx-yosemite/

但是,当我执行pip3安装pyicu时,我收到此错误

Collecting pyicu
Using cached PyICU-1.9.5.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/var/folders/70/jlxmpp0n003805pmw6tfc0r80000gn/T/pip-build-7eusuic1/pyicu/setup.py", line 11, in <module>
    ICU_VERSION = subprocess.check_output(('icu-config', '--version')).strip()
  File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 626, in check_output
    **kwargs).stdout
  File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 693, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'icu-config'
Run Code Online (Sandbox Code Playgroud)

我想这是因为我没有正确设置icu-config的路径.我认为以下两个可能是icu-config文件.

/usr/local/Cellar/icu4c/58.1/bin/icu-config
/usr/local/Cellar/icu4c/58.1/share/man/man1/icu-config.1
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何设置它的路径.此外,我不知道为什么我在教程可以顺利运行时遇到此错误.

dim*_*mid 18

我有同样的问题.这对我有用

brew install intltool icu4c gettext
brew link icu4c gettext --force
CFLAGS=-I/usr/local/opt/icu4c/include LDFLAGS=-L/usr/local/opt/icu4c/lib pip3 install pyicu
Run Code Online (Sandbox Code Playgroud)

资料来源:https://github.com/Homebrew/legacy-homebrew/issues/34170

  • 该解决方案有效,但我也必须执行以下操作.1)将/ usr/local/opt/icu4c/bin添加到PATH 2)设置ICU_VERSION (3认同)

Eug*_*ash 10

只需将包含的目录添加icu-config到PATH,例如:

brew install icu4c
export PATH="/usr/local/opt/icu4c/bin:$PATH"
pip install pyicu
Run Code Online (Sandbox Code Playgroud)

如果您使用pipenv,您还可以PATH通过.env文件进行更新。在您的项目根目录中,创建一个名称.env为以下内容的文件:

PATH="/usr/local/opt/icu4c/bin:${PATH}"
Run Code Online (Sandbox Code Playgroud)

然后运行:

pipenv shell
pipenv install pyicu
Run Code Online (Sandbox Code Playgroud)