Python: polyglot – ModuleNotFoundError: No module named ‘icu’
I wanted to use the polyglot NLP library that my colleague Will Lyon mentioned in his analysis of Russian Twitter Trolls but had installation problems which I thought I’d share in case anyone else experiences the same issues.
I started by trying to install polyglot:
$ pip install polyglot ImportError: No module named 'icu'
Hmmm I’m not sure what icu is but luckily there’s a GitHub issue covering this problem. That led me to Toby Fleming’s blog post that suggests the following steps:
brew install icu4c export ICU_VERSION=58 export PYICU_INCLUDES=/usr/local/Cellar/icu4c/58.2/include export PYICU_LFLAGS=-L/usr/local/Cellar/icu4c/58.2/lib pip install pyicu
I already had icu4c installed so I just had to make sure that I had the same version of that library as Toby did. I ran the following command to check that:
$ ls -lh /usr/local/Cellar/icu4c/ total 0 drwxr-xr-x 12 markneedham admin 408B 28 Nov 06:12 58.2
That still wasn’t enough though! I had to install these two libraries as well:
pip install pycld2 pip install morfessor
I was then able to install polyglot, but had to then run the following commands to download the files needed for entity extraction:
polyglot download embeddings2.de polyglot download ner2.de polyglot download embeddings2.en polyglot download ner2.en
Published on Web Code Geeks with permission by Mark Needham, partner at our WCG program. See the original article here: Python: polyglot – ModuleNotFoundError: No module named ‘icu’ Opinions expressed by Web Code Geeks contributors are their own. |