gpt4 book ai didi

python - 为什么我的代码抛出 "NameError: name ' ModuleNotFoundError' is not defined"错误?

转载 作者:太空宇宙 更新时间:2023-11-03 13:57:05 27 4
gpt4 key购买 nike

我正在本地安装以下 Flask 应用程序:SolarPi .由于我必须安装 raven 包,并且在 github 存储库上有 pull requests 和 Unresolved 问题,我假设代码被破坏并且不再维护。尽管我对 Flask 和 Python 不够熟练,但我还是决定试一试并尝试让它运行起来。

当我运行时

$ (.env) python manage.py 服务器

代码抛出以下错误:

Traceback (most recent call last):
File "manage.py", line 9, in <module>
from solarpi.app import create_app
File "/home/path/solarpi/solarpi/app.py", line 7, in <module>
from solarpi import public, weather, charts, statistics, tables
File "/home/path/solarpi/solarpi/public/__init__.py", line 4, in <module>
from . import views
File "/home/path/solarpi/solarpi/public/views.py", line 11, in <module>
from solarpi.public.helper import get_operating_days
File "/home/path/solarpi/solarpi/public/helper.py", line 4, in <module>
from pysolar.util import get_sunrise_sunset
File "/home/path/solarpi/.venv/lib/python2.7/site-packages/pysolar/__init__.py", line 1, in <module>
from . import \
File "/home/path/solarpi/.venv/lib/python2.7/site-packages/pysolar/radiation.py", line 21, in <module>
from . import numeric as math
File "/home/path/solarpi/.venv/lib/python2.7/site-packages/pysolar/numeric.py", line 140, in <module>
except ModuleNotFoundError:
NameError: name 'ModuleNotFoundError' is not defined

因为可以检查文件 numeric.py

from math import degrees, cos, sin, radians, tan, pi
from math import acos, atan, asin, atan2, exp, e

current_mod = 'math'


def globals_import_from(module, name, name_as):
"""
Does "from <module> import <name> as <name_as>" (globally)
"""
...
...
Bunch of defs
...
...

try:
import numpy
use_numpy()
except ModuleNotFoundError:
pass

ModuleNotFoundError 只是一个异常(exception)条款。

这里棘手的是,当找不到本地或全局名称时引发的异常“NameError”会捕获另一个内置异常抛出的异常,在本例中为“ModuleNotFoundError”。由于这些异常是内置的,因此我假设代码只是写入了 python 3 而不是 python 2。我是否遗漏了不会导致重构整个代码的任何内容?

最佳答案

澄清一下注释:正如许多人所说,ModuleNotFoundError 仅适用于 Python 3.6 及更高版本,但必须使用 Python 2。然而 ImportError 异常在 Python 2 和 3 中可用,只是不够精确。

ModuleNotFoundError 替换为 ImportError 应该可行。

关于python - 为什么我的代码抛出 "NameError: name ' ModuleNotFoundError' is not defined"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54153106/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com