【发布时间】:2013-04-28 02:43:13
【问题描述】:
这个问题不是关于一个特定的错误——错误的出现是因为我错误地使用了matplotlib的tight_layout。
我想知道为什么 iPython 会解释我已经注释掉的一行代码——或者更确切地说,这是在什么情况下会发生(即,我需要重新启动内核,或其他什么)。
尽管我重新执行了相关导入,但错误似乎仍然存在。
代码:
import forecasting_report.analyze as fcst_rprt
analysis = fcst_rprt.ForecastingReport()
analysis.analyze()
results = analysis.user_dict
错误提示:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-6-a62e6e8717be> in <module>()
1 analysis = fcst_rprt.ForecastingReport()
----> 2 analysis.analyze()
3 results = analysis.user_dict
/Users/[...]/ForecastingReport/forecasting_report/analyze.py in analyze(self)
44 self.breakdown = help.breakdown(self.user_dict)
---> 45 #plots.plot_breakdown(self.breakdown, self.path)
46
47 def write_results(self):
<Error Stack continues>
注意:
一个完美的答案是:“这不是它的工作方式”。可以肯定的是,我没有尝试在命令行中重现这个错误,所以这可能是我对 Python 解释器的无知。
【问题讨论】:
-
你试过重启笔记本了吗
-
是的——这似乎可以解决问题。我只是不知道为什么
import语句不接受对模块的更改。 -
过去,我注意到如果我安装了一个模块,它不会自动变得可用,需要重新启动。
-
Python 只会导入一次模块,如果需要在某处重新加载,可以使用:
reload(module_name) -
是的,我相信python会看到模块已经被导入,并且什么也不做,不管模块是否被修改过。