安装NLTK库时出现Command errored out with exit status 1及Py_UCS1错误的技术求助
解决Python2.7下安装NLTK时出现Py_UCS1相关编译错误的方案
从你提供的错误日志能看出来,问题核心是Python2.7环境下安装regex库(NLTK的依赖)失败——Py_UCS1是Python3.3及以上版本才引入的Unicode类型,而最新版的regex库已经不再支持Python2.7,所以编译时会抛出这类未定义标识符的错误。
下面是几个可行的解决办法:
方法1:先降级安装兼容Python2.7的regex版本
先安装最后一批支持Python2.7的regex版本,再安装NLTK:
pip install regex==2021.11.10 pip install nltk
(如果你的pip3指向的还是Python2.7环境,就替换成pip3执行)
方法2:安装兼容Python2.7的旧版NLTK
新版本NLTK可能依赖不支持Python2的第三方库,你可以指定安装适配Python2的NLTK旧版本,比如:
pip install nltk==3.5
这个版本的NLTK对Python2.7的兼容性更好,不会强制要求高版本的regex。
方法3:升级到Python3(推荐长期方案)
Python2.7已经在2020年1月1日停止官方维护,后续几乎所有主流库都会逐步停止对它的支持,包括NLTK。如果条件允许,建议你把项目迁移到Python3.7及以上版本,之后直接用pip install nltk就能正常安装,不会再遇到这类兼容性问题。
内容的提问来源于stack exchange,提问作者Таня
相关产品推荐
相关产品推荐

