我用以下方法安装了GrepFunc:
pip install grepfunc
但是当我尝试通过以下方式将其导入我的木星笔记本中时:
from grepfunc import grep
我得到一个错误消息:
没有名为'grepfunc'的模块
1)我检查了grepfunc是否已安装:
pip list
答案是肯定的。但是我在其他已安装的软件包中找不到该库
2)然后,我从原始GitHub链接下载了代码,并将其复制到其他库在 /username/anaconda3/lib/python3.7/grepfunc / 中。
在这种情况下,当我从grepfunc import grep 中运行时,没有任何错误。但是在尝试使用grap函数本身时,出现以下错误:
StopIteration追踪(最近一次通话最后一次)〜/ anaconda3 / lib / python3.7 / grepfunc / grepfunc.py in grep_iter(target,pattern,** kwargs)234#完成迭代-> 235提高StopIteration 236 >
StopIteration:
上述异常是以下异常的直接原因:
RuntimeError Traceback(最近一次通话最近)在2 3#个grep标题中,其中带有单词“ dog”。注意:i = True将忽略大小写。 ----> 4个grep(电影,“狗”)
〜/ anaconda3 / lib / python3.7 / grepfunc / grepfunc.py in grep(target,pattern,** kwargs)94#使用grep_iter构建返回列表95 ret = [] ---> 96 grep_iter(target,pattern,** kwargs)中的值:97 98#如果安静模式不需要继续,则返回True,因为我们得到了一个值
RuntimeError:生成器引发了StopIteration
答案 0 :(得分:0)
我今天使用Python 3.7遇到了同样的问题,这是由于终止了Python生成器的方式的改变(我不确定此更改是在哪个Python版本中引入的)。 Refer to PEP 479 -- Change StopIteration handling inside generators。
我通过编辑grepfunc.py并注释掉第237行来解决此问题。
#raise StopIteration
在python缓存中查找grepfunc,删除这些文件,然后可以重新导入grepfunc并使用。
问题已提交到GitHub(https://github.com/RonenNess/grepfunc/issues/2)