我将远程(ubuntu 16.04)驱动器安装在我的本地系统(ubuntu 16.04)上,以便我可以通过在vscode中打开它们来编辑源文件 .
此外,在集成终端中,我可以ssh到远程系统并使用远程python解释器运行程序,该解释器安装在虚拟环境中,如:
$ssh username@remoteip
$workon remotevirtualenv
(remotevirtualenv)$python source.py
我想启用远程调试,这样如果我运行调试/运行远程文件,我本地系统上安装的vscode使用我的远程python解释器 .
我浏览了文档,建议使用ptvsd扩展(要求在本地有一个源文件的2个副本,另一个服务器),但我不知道如何在这种情况下配置它 . 感谢帮助 . 谢谢 .
Edit 1: 因为,我说我已经阅读了文档,但我不清楚如何在这种情况下进行配置 . 例如文档说
在两台计算机的源代码中,添加以下行,将my_secret替换为相应的密码以验证远程调试,并使用适当的IP地址(或localhost)和端口号替换地址:
ptvsd.enable_attach("my_secret", address = ('0.0.0.0', 3000))
但我只有一个源文件副本,即在远程系统上 . 我刚刚将它安装在我的本地文件系统上 . 所以,我应该给我的本地IP地址,或者它应该是远程系统IP和我应该使用哪个端口号,因为我只有一个源的副本,因此ptvsd,它是如何进行通信的 . 此外,在配置中,我应该使用 localRoot
位置和 remoteRoot
位置 .
3. {
"name": "Attach (Remote Debug)",
"type": "python",
"request": "attach",
"localRoot": "${workspaceFolder}",
"remoteRoot": "${workspaceFolder}",
"port": 3000,
"secret": "my_secret",
"host": "localhost"
}
2 回答
您需要将远程IP地址放在
ptvsd.enable_attach("my_secret", address = ('remote_ip_address', 3000))
和launch.json
中:您还需要将
remoteRoot
值更改为脚本在远程计算机中所在目录的路径(例如/home/user1/scripts/
) .最后,打开一个ssh连接:
ssh -L 3000:localhost:3000
,在远程计算机上运行脚本并将调试器连接到本地计算机 .请参阅official docs on how to do remote debugging .