在geany编译但不在终端编译?

时间:2014-08-21 02:48:39

标签: python opencv serial-port

所以我在过去的几周里一直在用openCV搞乱python并且它运行得很好。我的问题是当我拿出两个绝望的代码脚本并将它们组合在一起时它无法编译。 (我知道Duh python的白色空间(我修复了所有这些,“我认为”))它在终端中输出了一个带有行号的错误。这时我在Ubuntu中使用文本编辑器,所以我把它扔进Geany以找出什么行。当我到达那里时,我无法找出错误是什么缩进是原始代码的缩进,并且它与嵌套的其余循环的那个一致。所以我尝试在Geany中编译它并且它根本没有抛出错误。我发现这非常奇怪,因为Geany只是一个编辑器,它依赖外部编译器来编译代码。我假设终端也使用相同的编译器(虽然我知道它现在不能)。我可能它与图书馆openCV有关,因为我没有把它包含在Geany中。所以我改变了扔东西的变量名。之后它仍然抛出相同的错误,所以我来到这里很困惑。

我收到的错误消息是 http://imgur.com/1otMyeZ 我的代码是 http://pastebin.com/HYKjnyyc 给出错误的部分在这里 http://pastebin.com/6TyXs3uc

1 个答案:

答案 0 :(得分:0)

您的问题仍然会回到您正在处理的空白处。以下所有内容(除了第297行到最后):

# THE DEMO PROGRAM STARTS HERE

是缩进的,包括你的三个全局变量,这使得它们在编译器中显示为class Target的一部分,它将变量从全局范围中取出,因此它们没有被定义。删除该区域中不必要的缩进。

编辑: 再次回顾一下你的代码,你可能还有一些来自

的缩进问题
 #  Function Definitions

在第88行和以下。从函数缩进的方式来看,它们似乎是类的一部分,但从调用它们的方式来看,它们似乎不是。

如果你使用更标准的方法进行缩进/空白处理,你会发现在python中编写的文章不那么令人沮丧。阅读this PEP了解这方面的一些最佳做法。