2016-05-12 172 views
2

我无法在PyCharm中调试Flask应用程序。应用程序应该在端口5000上运行:app.run(host="10.1.0.17", port=5000, debug=True)。控制台输出是:PyCharm调试器失败,出现AttributeError错误

C:\Python\python.exe "C:\Program Files (x86)\JetBrains\PyCharm 145.597.11\helpers\pydev\pydevd.py" --multiproc --qt-support --client 127.0.0.1 --port 10498 --file "D:/TGM/SMS/SMS/Back .v2/wsgi.py" 

pydev debugger: process 4108 is connecting 
Could not connect to 127.0.0.1: 10499 

Traceback (most recent call last): 
    File "C:\Program Files (x86)\JetBrains\PyCharm 145.597.11\helpers\pydev\pydevd.py", line 1523, in <module> 
    debugger.connect(host, port) 
    File "C:\Program Files (x86)\JetBrains\PyCharm 145.597.11\helpers\pydev\pydevd.py", line 317, in connect 
    self.initialize_network(s) 
    File "C:\Program Files (x86)\JetBrains\PyCharm 145.597.11\helpers\pydev\pydevd.py", line 304, in initialize_network 
    self.writer = WriterThread(sock) 
    File "C:\Program Files (x86)\JetBrains\PyCharm 145.597.11\helpers\pydev\_pydevd_bundle\pydevd_comm.py", line 392, in __init__ 
    self.cmdQueue = _queue.Queue() 
AttributeError: module 'queue' has no attribute 'Queue' 

Process finished with exit code -1 

我正在使用Python 3.5.1。什么可能是错的?

+0

如果你有自己的'queue.py'文件,这会发生 –

回答

5

pydev调试器使用与您尝试调试的项目相同的Python路径。 如果您有任何标准模块或软件包名称的模块或软件包,则pydev调试器可能会加载您的模块而不是标准模块。

您的项目目录中可能有一个名为queue的模块,这会导致此问题,因为python标准库还包含具有该名称的模块。

尝试重命名你的模块,或者改变您的PYTHONPATH

PyCharm有权选择不包括Run > Edit Configurations在PYTHONPATH项目根/源根。这可以解决您的问题,但是如果您的import语句中的任何一个依赖于此设置,您可能需要在项目中修复一些import语句。

+0

是的,我确实有一个名为'queue.py'的文件。我不确定现在程序是否正常工作,但它为什么运行?只有在调试项目时才会出现此错误。 – nicks

+0

您的程序运行是预期的行为。正确的问题是WTH pydev调试器加载你的项目文件......我认为pydev调试器不应该这样做。它可能是pydev调试器的问题,也可能是PyCharm调用错误。 – smerlin

相关问题