我在 Mac OSX 中使用 Enthought Canopy 1.0.3 Python 环境,也是它的内置文本编辑器。
尝试从开发框架中包含的 ipython 控制台运行脚本时,我检测到了一个奇怪的行为。我收到一条错误消息,指出行号与编辑器中显示的实际行号不匹配,而是与源代码的先前版本匹配。
例如,这是我从 ipython 控制台获得的:
%run /Users/xavi/workspace/python/saliency/maps.py
(...)
/Users/xavi/workspace/python/saliency/binarization.py in calculate_foreground_ratio(binaryMask)
7
8
----> 9 def calculate_foreground_ratio( binaryMask ):
10 """ Compute the ratio of foreground pixels in the provided binary mask """
11 return binaryMask.sum().astype(float) / np.size( binaryMask ).astype(float)
NameError: global name 'np' is not defined
请注意,他指的是关于 np. 的错误。定义,这是一个错误,应该参考第 11 行,而不是第 9 行。
我还尝试使用python -m compileall
.
关于如何解决这个同步问题的任何想法?
非常感谢您提前。