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
It seems like the current version of icu4c
packaged for brew
does not link the icu-config
file properly.
Running brew link icu4c --force
gives you the necessary information to address this, but fails to link it automatically.
$ brew link --force icu4c
Warning: Refusing to link macOS-provided software: icu4c
If you need to have icu4c first in your PATH run:
echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.bash_profile
For compilers to find icu4c you may need to set:
export LDFLAGS="-L/usr/local/opt/icu4c/lib"
export CPPFLAGS="-I/usr/local/opt/icu4c/include"
For pkg-config to find icu4c you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"
You need to run the following after installing icu4c
through brew
to get icu-config
into your path (assuming you're running bash as your shell):
echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
After that, you should be able to install pyicu
without any additional environment variables:
$ pip install --no-cache-dir pyicu
Collecting pyicu
Downloading https://files.pythonhosted.org/packages/c2/15/0af20b540c828943b6ffea5677c86e908dcac108813b522adebb75c827c1/PyICU-2.2.tar.gz (211kB)
100% |████████████████████████████████| 215kB 4.9MB/s
Installing collected packages: pyicu
Running setup.py install for pyicu ... done
Successfully installed pyicu-2.2
In summary, here's a complete list of commands i ran to make this work:
brew install icu4c
brew link icu4c --force
echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
pip install --no-cache-dir pyicu
(As an aside, many of the solutions i came across do not use the --no-cache-dir
option with pip install
. I think some of them may have cached built version of pyicu
. I did for a while, which masked the issue. It wasn't until i tried this option that i was able to reproduce and fix appropriately.)