我在Mac OSX中使用的是editor 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强制重新编译。
有关于如何解决这个同步问题的想法吗?
非常提前感谢您。
发布于 2013-08-26 23:10:33
np模块不提供围绕代码执行的全局变量。确保将numpy作为np导入到模块中,它将正常工作。这不是一个Canopy问题,而仅仅是一个范围解析问题。
https://stackoverflow.com/questions/18444253
复制相似问题