我正在关注本教程:
http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server

但是当我写

reactor.listenTCP(80, factory)

eclipse告诉我这是一个 undefined variable 。
我安装了twisted,可以自动完成导入,但这是行不通的。
Google展示了更多出现此问题的方法,但我找不到任何解决方案。
谢谢!

编辑:
完整的代码:
from twisted.internet.protocol import Factory
from twisted.internet import reactor

factory = Factory()
reactor.listenTCP(80, factory)
reactor.run()

最佳答案

这是一个与Eclipse/PyDev执行静态分析的方式有关的已知问题。

如果仔细观察,在导入时twisted.internet模块中实际上不存在reactor对象。模块为空。

当Eclipse/PyDev尝试编译字节码时,静态分析不会在twisted.internet模块中看到reactor对象,并将其标记为 undefined variable ,即使它实际上是在运行时存在的(通过某些Twisted Magic注册也无法实现)解释)。

我使用的解决方法很简单,只需添加#@ UndefinedVariable即可抑制该错误:

reactor.run() #@UndefinedVariable

瞧。没有更多的IDE错误。

关于python - Python扭曲 react 堆 undefined variable ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10306779/

10-11 08:03