我正在本地安装以下Flask应用程序:SolarPi。由于我必须安装raven包,并且github repo上有一些请求和问题没有得到响应,所以我假设代码已经损坏,不再进行维护。尽管我对Flask和Python不够熟练,我还是决定试试看,试着让它运行起来。在
当我跑的时候
$ (.env) python manage.py server
代码引发以下错误:
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
因为可以检查文件数值.py在
^{pr2}$ModuleNotFoundError
只是一个异常子句。在
这里比较棘手的是,当找不到本地或全局名称时引发的异常“NameError”捕获另一个内置异常引发的异常,在本例中为“ModuleNotFoundError”。由于这些异常是内置的,所以我假设代码只是编写到python3中,而不是像前面所说的python2。我是否遗漏了一些不会导致重构整个代码的内容?在
为了澄清这些注释:正如许多人所说,
ModuleNotFoundError
只在python3中可用,但必须使用python2。然而,ImportError
异常在python2和python3中是可用的,它只是有点不精确。在将
ModuleNotFoundError
替换为ImportError
应该可以。在问题不是缺少模块,而是缺少异常类。以下代码:
应该尝试导入
numpy
,但如果失败,则忽略该失败并继续(pass
=不执行任何操作)。在但是,代码试图捕捉异常
ModuleNotFoundError
-这在python2.7中不存在。在只需使用python3运行代码。在
相关问题 更多 >
编程相关推荐