簡體   English   中英

無法從python中的grepfunc導入grep

[英]Can't import grep from grepfunc in python

我已經安裝了 GrepFunc:

pip install grepfunc

但是當我嘗試將它導入我的 Jupiter Notebook 時:

from grepfunc import grep

我得到一個錯誤按摩:

沒有名為“grepfunc”的模塊

1)我檢查了grepfunc是否安裝了:

pip list

答案是肯定的。 但是我在其他已安裝的軟件包中找不到這個庫

2)然后我從原始GitHub鏈接下載代碼,並將其復制到/username/anaconda3/lib/python3.7/grepfunc/ ,其他庫在哪里。

在這種情況下,當我從 grepfunc import grep運行時,不會再出現任何錯誤。 但是在嘗試使用 grap 函數本身時,我收到以下錯誤:

StopIteration Traceback(最近一次調用最后一次) ~/anaconda3/lib/python3.7/grepfunc/grepfunc.py in grep_iter(target, pattern, **kwargs) 234 # 完成迭代 --> 235 raise StopIteration 236

停止迭代:

上述異常是以下異常的直接原因:

RuntimeError Traceback (last last call last) in 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 for value in grep_iter (target, pattern, **kwargs): 97 98 # 如果安靜模式不需要繼續,就返回 True 因為我們得到了一個值

運行時錯誤:生成器引發了 StopIteration

我今天在使用 Python 3.7 時遇到了同樣的問題,這是由於 Python 生成器的終止方式發生了變化(我不確定在哪個版本的 Python 中引入了此更改)。 請參閱 PEP 479 - 更改生成器內的 StopIteration 處理

我通過編輯 grepfunc.py 並注釋掉第 237 行來滿足我的需要解決了這個問題。

#raise StopIteration

找到grepfunc 的python 緩存,刪除這些文件,然后您可以重新導入grepfunc 並使用。

問題已提交至 GitHub ( https://github.com/RonenNess/grepfunc/issues/2 )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM