执行pip install -U Django报AttributeError,Python3.6.4环境求解决
解决Django安装时
AttributeError: 'module' object has no attribute 'lru_cache'的问题 这是macOS下Python版本管理的典型坑——虽然你已经装了Python3.6,但你执行的pip install -U Django其实调用的是系统默认的Python2版本的pip。而Django 2.0及以上版本早已不再支持Python2,同时Python2的functools模块确实没有lru_cache方法(这个特性是Python3.2之后才新增的),所以才会触发这个错误。
下面是具体的解决办法:
直接用Python3对应的pip工具安装Django:
pip3 install -U Django这样就会用你已安装的Python3.6环境处理安装请求,完全匹配Django 2.0的版本要求。
你可以先验证pip和pip3对应的Python版本,确认问题根源:
# 查看默认pip关联的Python版本 pip --version # 查看pip3关联的Python版本 pip3 --version你会发现
pip绑定的是系统自带的Python2,而pip3才对应你安装的Python3.6。
如果之后想让pip默认指向Python3的版本,可以通过配置shell别名实现(比如在~/.bash_profile或~/.zshrc里添加alias pip='pip3'),不过对新手来说,直接用pip3管理Python3的包会更稳妥,不容易搞混版本。
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

