系统环境redhat7.1 python3.6
polyglot 16.7.4
pip install polyglot
import polyglot
from polyglot.text import Text, Word
ICU_VERSION = subprocess.check_output((‘icu-config’, ‘–version’)).strip()
Error 1 :No module named ‘icu’
---> 11 from icu import Locale
12 import pycld2 as cld2
ModuleNotFoundError: No module named 'icu'
解决方法:
(py3) [root@7-o-1 ~]# pip install pyicu
Error installing pip pyicu
sudo apt install libicu-dev
#or
yum install libicu-dev
pip3 install pycld2
pip3 install morfessor
Error 2: No module named ‘_bz2’
from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named 'morfessor'
ModuleNotFoundError: No module named '_bz2'
python2据说是这样解决的:
Centos 6
sudo cp /usr/lib64/python2.6/lib-dynload/bz2.so /python_install_path/lib/python2.7/lib-dynload
Centos 7
sudo cp /usr/lib64/python2.7/lib-dynload/bz2.so /python_install_path/lib/python2.7/lib-dynload
在我试验的系统中是这样解决的:
(py3) [root@7-o-1 ~]# cd /usr/local/lib/python3.6/lib-dynload/
wget https://github.com/LockeyCheng/packages/blob/master/_bz2.cpython-36m-x86_64-linux-gnu.so
(py3) [root@7-o-1 lib-dynload]# chmod u+x _bz2.cpython-36m-x86_64-linux-gnu.so
据说还有另外一种版本,安装一些必须包后重新编译python,感觉有点扯,有兴趣和时间的话可以尝试:
the solution above can solve bz2 problems with python2.7. but not python 3.x yeah, you need _bz2.cpython-3xm-x86_64-linux-gnu.so, however you should build it in your own env.
here's my solution:
yum install bzip2-devel. (or apt-get)
download bzip2-1.0.6. make && make install ()
build Python3's _bz2.cpython like this:
vim run.sh under python3's source code folder:Python-3.x.x
export CFLAGS="-I/usr/include"
export LDFLAGS="-L/usr/lib64"
export LD_LIBRARY_PATH=/usr/lib64
make distclean
./configure --prefix=/home/xxx/Python3 && make && make install