no4*_*syn 32 python runtime-error helper web stopiteration
我正在尝试运行此代码:
import web
urls = (
'/', 'index'
)
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
Run Code Online (Sandbox Code Playgroud)
但它每次都给我这个错误
C:\Users\aidke\Desktop>python app.py
Traceback (most recent call last):
File "C:\Users\aidke\AppData\Local\Programs\Python\Python37-32\lib\site-packages\web\utils.py", line 526, in take
yield next(seq)
StopIteration
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "app.py", line 14, in <module>
app = web.application(urls, globals())
File "C:\Users\aidke\AppData\Local\Programs\Python\Python37-32\lib\site-packages\web\application.py", line 62, in __init__
self.init_mapping(mapping)
File "C:\Users\aidke\AppData\Local\Programs\Python\Python37-32\lib\site-packages\web\application.py", line 130, in init_mapping
self.mapping = list(utils.group(mapping, 2))
File "C:\Users\aidke\AppData\Local\Programs\Python\Python37-32\lib\site-packages\web\utils.py", line 531, in group
x = list(take(seq, size))
RuntimeError: generator raised StopIteration
Run Code Online (Sandbox Code Playgroud)
我尝试了别人的代码,发生了同样的事情.此外,我尝试重新安装web.py(实验),但它仍然无法正常工作.
Tim*_*ers 49
从文件路径判断,看起来你正在运行Python 3.7.如果是这样,你会被这里描述的3.7新行为所困扰:
PEP 479针对Python 3.7中的所有代码启用,这意味着在协同程序和生成器中直接或间接引发的StopIteration异常将转换为RuntimeError异常.(由Yury Selivanov供稿于bpo-32670.)
在此更改之前,StopIteration通过生成器引发或通过生成器只会结束生成器的使用寿命(异常被静默吞噬).您正在使用的模块必须按照3.7的预期重新编码.
他们有可能需要改变:
yield next(seq)
Run Code Online (Sandbox Code Playgroud)
至:
try:
yield next(seq)
except StopIteration:
return
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16962 次 |
| 最近记录: |