Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 配置两个远程系统之间的路径映射,以使断点在PyDev中工作_Python_Eclipse_Pydev - Fatal编程技术网

Python 配置两个远程系统之间的路径映射,以使断点在PyDev中工作

Python 配置两个远程系统之间的路径映射,以使断点在PyDev中工作,python,eclipse,pydev,Python,Eclipse,Pydev,几天来,我一直试图让PyDev的远程调试功能运行,但没有成功。我的主要问题(目前只有一个)是,我不知道如何正确地将远程路径映射到本地路径,反之亦然,以便使断点工作。我已经通读了,也略读了一些关于这个话题的问答。我想知道使这些断点正常工作的确切步骤 在我的例子中,它是一个运行在远程Debian 9系统上的Python应用程序,我想在Eclipse中使用PyDev 6.4.3从本地Windows 7主机上调试它。 在这种情况下,主机和目标是什么?我必须在Windows或Linux计算机上配置路径映射

几天来,我一直试图让PyDev的远程调试功能运行,但没有成功。我的主要问题(目前只有一个)是,我不知道如何正确地将远程路径映射到本地路径,反之亦然,以便使断点工作。我已经通读了,也略读了一些关于这个话题的问答。我想知道使这些断点正常工作的确切步骤

在我的例子中,它是一个运行在远程Debian 9系统上的Python应用程序,我想在Eclipse中使用PyDev 6.4.3从本地Windows 7主机上调试它。 在这种情况下,主机和目标是什么?我必须在Windows或Linux计算机上配置路径映射吗?或者两者兼而有之

我尝试在Eclipse中的Preferences/PyDev/Debug/sourcelocator下配置它们。我将它们设置为一个环境变量在Windows和Linux上从\u ECLIPSE\u到\u PYTHON的路径。这些都没用,在我的Linux机器上,我只是得到了信息

pydev debugger: warning: trying to add breakpoint to file that does not exist

我没有选择了,我真的很想知道正确的方法是什么。非常感谢您的帮助。

因此,我终于找到了适合我的设置的正确配置。总而言之:

  • 我要调试的应用程序在安装了pydevd的Linux机器上运行(
    pip install pydevd
  • 我的Eclipse+PyDev安装程序正在Windows 7工作站上运行
  • 调试服务器在Eclipse中运行,并侦听其默认端口5678
显然,必须在目标机器上配置路径映射(托管要调试的应用程序的机器,因此在我的情况下,这将是Linux机器)。这可以通过两种方式完成(在Linux上):

  • 将它们直接粘贴到
    pydevd_文件_utils.py
    (在我的Linux系统上,它位于/usr/local/lib/python2.7/dist packages/)中,格式如下:

    从\u ECLIPSE\u到\u PYTHON的路径=[
    (“远程路径1”、“本地路径1”),
    (‘远程路径2’、‘本地路径2’),
    ...
    ]

  • 在启动应用程序之前,将它们作为环境变量传递(例如
    将路径从\u ECLIPSE\u导出到\u PYTHON='[[“远程路径1”、“本地路径1”]、[“远程路径2”、“本地路径2”]、…])

  • 在我的情况下,远程路径将是我的Windows计算机上的项目路径(例如,
    C:\\Users\\workspace\\project\\
    ),而本地路径将是我的Linux主机上的路径(
    /home/user/project/
    )。请注意我必须添加到路径的尾部反斜杠,否则PyDev会将路径转换为类似于
    /home/user/project\file.py的内容,从而生成未知文件。因此,我还不得不避开Windows路径中的反斜杠


    希望这能帮助像我这样遇到类似困难的人。

    如果你从来没有用PyDev解决过这个问题,你可以尝试CodeMix——这将把VS Code的Python功能带到Eclipse中,包括它对远程调试的支持。请参阅:开始使用CodeMix和Python,然后您可以查看远程调试文档,现在您可以在Eclipse中使用这些文档了!另请参见最新的
    pydev.debugger
    (刚刚发布)中应修复的斜杠问题。