ubuntu无法下载djnago-haystack

linux系统django-haystack库安装失败的解决方法

当前版本

django=3.1.6,python=3.8

错误解决历程

应为要在django项目中添加elasticsearch,并需要django-haystack作为接口来进行检索,当使用pip install django-haystack命令时。出现错误,当时最直接的想法是直接查看最后一行报错信息:

ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

经过百度之后,有人说升级一下pip版本就行,然后我就使用如下命令对pip进行升级:

python -m pip install --upgrade pip

然而,当我再次使用上面的下载命令的时候,就发现事情不对了,每当我按下回车之后,pip自动帮我卸载django当前版本,然后下载1.7的版本,并且django-haystack也并不是最新的,而是2.5。此时再去启动项目已经无法启动了,很无奈只能卸载django1.7然后重新安装3.1.6,接着接续卸载django-haystack,想再来一次。没错,结果还是一样,无法下载完成。

此时,我回去翻看第一次的报错记录,发现如下代码:

在这里插入图片描述

这上面显示缺少setuptools_scm库,我就将该库下载之后,在重新执行下载命令最终整个django-haystack也完成了。

问题原因

python比较好的地方就在于,出现异常抛出的异常上下文信息比较明确,能一眼看出问题所在。而我习惯了直接看最后一行而去忽略中间的一些重要步骤,因此会导致错误无法知晓。回去看了一下异常报错,知道原因在于当前虚拟环境下缺少setuptools_scm库,django-haystack的安装依赖这个库。

解决方法

先执行

python -m pip install setuptools_scm

安装成功之后再执行一下命令即可

python -m pip install djnago-haystack

反思

一定要跳出惯性思维,有时候最后一行并不是你所需要的,中间步骤藏着许多重要信息。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值