我正在关注本教程:
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/