我想在pydev项目中添加一个断点。我正在使用带有pydev插件的eclipse。我正在运行Windows 7.我要调试的文件位于C:\ cygwin \ workspace \ project \ main.py。
当我尝试通过双击我想要断点的行的左侧来添加断点时,断点似乎在视觉上出现在文件中,但是当我单击debug时出现此错误:< / p>
pydev debugger: warning: trying to add breakpoint to file that does not exist: /workspace/project/C:\cygwin\workspace\project\main.py
请注意,在调试和正常运行模式下,该文件仍然可以正常运行。我也可以通过运行python main.py
来运行ide之外的文件。
答案 0 :(得分:4)
我实际上能够让这个工作。我意识到我正在使用PyCharm,但解决方案应该很容易适应,因为他们都使用PyDev。基本问题是IDE期待Windows路径,而PyDev期待cygwin路径。我找到了PyDev中适当的地方进行这些转换。
这是我的设置
编辑程序文件/ JetBrains / PyCharm 2.5 / helpers / pydev / pydevd.py。这会将发送到调试器的路径转换为cygwin路径。在file = NormFileToServer(file)
所在的第597行附近进行以下更改
orig_file = file
file = NormFileToServer(file)
if not os.path.exists(file):
file = orig_file.replace('c:/cygwin','')
file = file.replace('\\','/')
file = file.replace(' ','\ ')
file = NormFileToServer(file)
if not os.path.exists(file):
sys.stderr.write('pydev debugger: warning: trying to add breakpoint'\
' to file that does not exist: %s (will have no effect)\n' % (file,))
sys.stderr.flush()
稍后在elif cmd_id == CMD_REMOVE_BREAK
语句
编辑程序文件/ JetBrains / PyCharm 2.5 / helpers / pydev / pydevd_comm.py。这会将发送回pycharm的路径转换为Windows路径。第549行改变代码看起来像这样:
myFile = pydevd_file_utils.NormFileToClient(curFrame.f_code.co_filename)
myFile = "C:\cygwin" + myFile
myFile = myFile.replace('/','\\')
根据需要调整路径。帮助我解决这个问题的重要一点是在PyCharm运行/调试配置的环境变量中添加PYCHARM_DEBUG=True
。
希望这可以节省其他人6个小时的时间来解决这个问题!
答案 1 :(得分:1)
PyDev中没有真正支持Cygwin,因此,您必须使用python Windows发行版在Windows上工作,或者您必须使用python for Linux在Linux上工作...
真正的问题是,当在cygwin内部(与IDE进行通信)时,必须在每一步来回转换路径......在这方面已经完成了一些初步工作,但它没有做到。继续......
我没有真正尝试过的一种方法但是可以工作的方法可能是尝试在cygwin中使用all(即:使用在cygwin中运行的PyDev:java版本的java / eclipse / pydev - 不仅仅是python翻译,这样两者都会以相同的方式看到路径),但我还没有真正测试过这种设置,所以,我并不是100%肯定它会工作。
答案 2 :(得分:0)
pydev调试器:警告:尝试将断点添加到不存在的文件:/ vagrant / pytest / C:\ Program Files \ Git \ vagrant \ vagrant \ pytest \ remote.py(将无效)
以上错误一直在发生。我正在使用安装了pydev的eclipse。
INitiualy我错误地配置了PATHS_FROM_ECLIPSE_TO_PYTHON值,但后来更新了它。但更新后的值并未反映在上述错误中,而只显示旧值。
如何刷新旧配置PATHS_FROM_ECLIPSE_TO_PYTHON并在执行文件时使用最新值