无法安装flask-ask求助:pip导入parse_requirements报错
解决 Flask-Ask 安装时
ImportError: cannot import name 'parse_requirements' 的问题 我之前也踩过这个坑!这个错误的核心原因是Flask-Ask的旧版本依赖的pip API已经被废弃——pip.req模块和parse_requirements函数在pip 10及以上版本里就被移除并移到了pip._internal.req下,而Flask-Ask的官方源码还没适配这个变更,所以不管是用pip安装还是本地源码安装都会报错。下面给你几个可行的解决思路:
降级pip到兼容版本
最简单的办法就是把pip降到Flask-Ask支持的旧版本(比如pip 9.0.3),步骤如下:pip uninstall -y pip pip install pip==9.0.3完成后再重新执行
pip install flask-ask或者本地的python setup.py install,应该就能正常完成安装了。手动修改Flask-Ask源码适配新版pip
如果你不想降级pip,可以直接修改本地克隆的Flask-Ask源码中的setup.py文件:
找到原来的导入代码:from pip.req import parse_requirements替换成兼容新旧pip的写法:
try: # 兼容pip <10版本 from pip.req import parse_requirements except ImportError: # 适配pip 10+版本 from pip._internal.req import parse_requirements修改保存后再运行
python setup.py install,应该就能绕过这个导入错误了。不过这只是临时修复,后续如果有官方更新的版本,优先用官方修复版。尝试社区适配的复刻版本
有些开发者已经fork了Flask-Ask并修复了pip兼容性问题,你可以在GitHub上搜索带有“pip 10 fix”“parse_requirements fix”这类关键词的复刻仓库,找到后用git克隆或者直接通过pip安装:pip install git+https://github.com/[用户名]/flask-ask.git注意替换成实际的复刻仓库地址。
内容的提问来源于stack exchange,提问作者Aditya Ganguli
相关产品推荐
相关产品推荐

