Spyder IDE 和 Python 解释器的编译差异
Compilation difference in Spyder IDE and Python intrepeter
这个问题可能看起来有点奇怪,但是一段时间前(大约 1-2 周)我写了一个 Python 脚本,我测试了它并且一切正常。今天,当我从后一个脚本中提取行时,这些行将 运行 在 Spyder IDE Python 控制台中没有任何错误,但是当我尝试将这些相同的行放在新的 .py
文件,Spyder 给我错误!
所以我尝试再次编译旧脚本,然后我得到了错误!
举几个例子来说明问题:
- 我使用 PIL 图像加载和图像:
im = Image.open("test.jpg")
然后在 Spyder 控制台中,我可以这样做: im.layers
这会给我颜色通道的数量。即使 PIL 图像文档中不存在此属性!
但是在 python 文件中使用相同的属性会出错!
- 使用:
a = array( [ [ 1, 2, 3], [4, 5, 6], [...] ] )
我可以创建一个二维数组(或矩阵)。这可以通过 Spyder 实现,但不是常规的 Python 解释器(这会导致 NameError: global name 'array' is not defined
)!
还有一些这样的例子。
任何人都可以帮助我了解发生了什么,知道我是一个 Python 菜鸟吗?
Python 版本:2.7.6 |海湾合作委员会 4.8.2 |蜘蛛 2.2.5
Spyder 2.2.5 是旧版本(最新版本是 2.3.4)。当它启动时自动导入 numpy 和 matplotlib。常规 Python 解释器需要显式 import numpy as np
才能定义数组 A=np.array([[1,2,3], [4,5,6]])
。
这个问题可能看起来有点奇怪,但是一段时间前(大约 1-2 周)我写了一个 Python 脚本,我测试了它并且一切正常。今天,当我从后一个脚本中提取行时,这些行将 运行 在 Spyder IDE Python 控制台中没有任何错误,但是当我尝试将这些相同的行放在新的 .py
文件,Spyder 给我错误!
所以我尝试再次编译旧脚本,然后我得到了错误!
举几个例子来说明问题:
- 我使用 PIL 图像加载和图像:
im = Image.open("test.jpg")
然后在 Spyder 控制台中,我可以这样做:im.layers
这会给我颜色通道的数量。即使 PIL 图像文档中不存在此属性!
但是在 python 文件中使用相同的属性会出错! - 使用:
a = array( [ [ 1, 2, 3], [4, 5, 6], [...] ] )
我可以创建一个二维数组(或矩阵)。这可以通过 Spyder 实现,但不是常规的 Python 解释器(这会导致 NameError: global name 'array' is not defined )!
还有一些这样的例子。
任何人都可以帮助我了解发生了什么,知道我是一个 Python 菜鸟吗?
Python 版本:2.7.6 |海湾合作委员会 4.8.2 |蜘蛛 2.2.5
Spyder 2.2.5 是旧版本(最新版本是 2.3.4)。当它启动时自动导入 numpy 和 matplotlib。常规 Python 解释器需要显式 import numpy as np
才能定义数组 A=np.array([[1,2,3], [4,5,6]])
。