pythonpython-2.7pipmusicbrainz

Error installing pip pyicu


I have been trying to install musicbrainz server on my mac and there is a step where I have to install pip pyicu. I keep getting this error:

Collecting pyicu
Downloading PyICU-1.9.5.tar.gz (181kB)
100% |████████████████████████████████| 184kB 515kB/s 
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/tmp/pip-build-E50o2C/pyicu/setup.py", line 11, in <module>
    ICU_VERSION = subprocess.check_output(('icu-config', '--version')).strip()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 566, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-build-E50o2C/pyicu/

I have tried downloading ez_setup.py and doing python ez_setup.py. I have upgraded the setuptools and downloaded those separately as well. I am not sure what else there is to try. Please help!


Solution

  • I was facing this issue on my mac when trying to install polyglot (pyicu is needed for polyglot). The following resolved this for me.

    # 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.1'
    
    # 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/{version, e.g. 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