使用PyCharm和ptvsd进行Python远程调配

时间:2018-01-19 18:09:53

标签: python pycharm

我有一个运行python进程的虚拟机,我想从我的主机调试它。 我的虚拟机ip是192.168.10.20。 按照说明我将launch.json设置为

Dictionary

我有两个文件,一个在我的主机上,另一个在我的虚拟机上,名为test.py,这是一个请求用户输入的helloworld 我的主机将此文件放在文件的顶部

    {
        "name": "Python: Attach",
        "type": "python",
        "request": "attach",
        "localRoot": "/Users/wrkspace",
        "remoteRoot": "/home/wrkspace",
        "port": 3000,
        "secret": "my_secret",
        "host": "192.168.10.20"
    },

在我的虚拟机上,我想调试的地方

ptvsd.enable_attach("my_secret", address = ('192.168.10.20'3000))

# Enable the line of source code below only if you want the application 
to wait until the debugger has attached to it
#ptvsd.wait_for_attach()

一旦我运行我的附加调试器,然后通过运行python test.py在我的vm上启动测试。它看起来像是做了什么,但后来失败了

启动调试服务器时出错。 错误="代码":" ENETUNREACH""错误号":" ENETUNREACH""系统调用":&#34 ;连接""地址":" 192.168.10.20""端口":3000}

启动调试服务器时出错。错误= {"代码":" ENETUNREACH"," errno":" ENETUNREACH","系统调用":&# 34;连接""地址":" 192.168.10.20""端口":3000}

我有什么遗失的吗?

1 个答案:

答案 0 :(得分:0)

解决这些问题的几个步骤:

  

1)测试调试端口以确保它使用" nc -zv test.com打开30302"

     

2)确保您的网络服务器在连接调试器后没有重新加载应用程序。这是烧瓶的选择:" use_reloader =假"