使用InstaPy开发Instagram Bot时遭遇UNICODE_EMOJI导入错误求助
解决InstaPy导入UNICODE_EMOJI失败的问题
问题场景
运行以下InstaPy初始化代码时触发ImportError:
from instapy import InstaPy session = InstaPy(username="your username", password="your password") session.login()
错误信息:
ImportError: cannot import name 'UNICODE_EMOJI' from 'emoji.unicode_codes' (C:\Users\roeegg22\AppData\Local\Programs\Python\Python310\lib\site-packages\emoji\unicode_codes\__init__.py)
问题原因
emoji库2.x及以上版本移除了emoji.unicode_codes.UNICODE_EMOJI的导出路径,而当前使用的InstaPy版本依赖旧版emoji库的该常量定义,导致导入失败。
可行解决方案
方案1:降级emoji库到兼容版本
执行pip命令安装指定版本的emoji库,强制覆盖现有版本:
pip install emoji==1.7.0 --force-reinstall
emoji 1.7.0版本保留了UNICODE_EMOJI在emoji.unicode_codes下的导入结构,可直接适配InstaPy。
方案2:修改InstaPy源码适配新版emoji库
若不想降级emoji库,可手动修改InstaPy的导入语句:
- 找到InstaPy安装目录下的工具文件(通常为
instapy/utils.py) - 将文件中类似以下的导入代码:
替换为:from emoji.unicode_codes import UNICODE_EMOJIfrom emoji import UNICODE_EMOJI - 保存文件后重新运行代码即可。
注意:修改源码会在InstaPy版本更新时被覆盖,优先推荐方案1。
内容的提问来源于stack exchange,提问作者roeegg
相关产品推荐
相关产品推荐

