2017-01-24 4 views
3

Когда я иду запускать свой .py код в VS Code, я получаю сообщение об ошибке для установки launch.json. Глядя на код для launch.json, он имеет предупреждение «Отсутствует свойство« программа »(40,9)». Это весь код, но я также включаю крупный план области, с которой, похоже, проблема с кодом.vs код не запускается, проблема с запуском запуска?

Вот крупный план «проблемная зона»:

"debugOptions": [ 
      "WaitOnAbnormalExit", 
      "WaitOnNormalExit", 
      "RedirectOutput" 
     ] 
    }, 
    {      <----- this is the problem vs code is having 
     "name": "Python Module", 
     "type": "python", 
     "request": "launch", 
     "stopOnEntry": true, 
     "pythonPath": "${config.python.pythonPath}", 

Это весь код, в случае, если необходим большее представление о том, что происходит:

"version": "0.2.0", 
"configurations": [ 
    { 
     "name": "Python", 
     "type": "python", 
     "request": "launch", 
     "stopOnEntry": true, 
     "pythonPath": "${config.python.pythonPath}", 
     "program": "${file}", 
     "cwd": "${workspaceRoot}", 
     "debugOptions": [ 
      "WaitOnAbnormalExit", 
      "WaitOnNormalExit", 
      "RedirectOutput" 
     ] 
    }, 
    { 
     "name": "PySpark", 
     "type": "python", 
     "request": "launch", 
     "stopOnEntry": true, 
     "osx": { 
      "pythonPath": "${env.SPARK_HOME}/bin/spark-submit" 
     }, 
     "windows": { 
      "pythonPath": "${env.SPARK_HOME}/bin/spark-submit.cmd" 
     }, 
     "linux": { 
      "pythonPath": "${env.SPARK_HOME}/bin/spark-submit" 
     }, 
     "program": "${file}", 
     "cwd": "${workspaceRoot}", 
     "debugOptions": [ 
      "WaitOnAbnormalExit", 
      "WaitOnNormalExit", 
      "RedirectOutput" 
     ] 
    }, 
    {      <----- this is the problem vs code is having 
     "name": "Python Module", 
     "type": "python", 
     "request": "launch", 
     "stopOnEntry": true, 
     "pythonPath": "${config.python.pythonPath}", 
     "module": "module.name", 
     "cwd": "${workspaceRoot}", 
     "debugOptions": [ 
      "WaitOnAbnormalExit", 
      "WaitOnNormalExit", 
      "RedirectOutput" 
     ] 
    }, 
    { 
     "name": "Integrated Terminal/Console", 
     "type": "python", 
     "request": "launch", 
     "stopOnEntry": true, 
     "pythonPath": "${config.python.pythonPath}", 
     "program": "${file}", 
     "cwd": "null", 
     "console": "integratedTerminal", 
     "debugOptions": [ 
      "WaitOnAbnormalExit", 
      "WaitOnNormalExit" 
     ] 
    }, 
    { 
     "name": "External Terminal/Console", 
     "type": "python", 
     "request": "launch", 
     "stopOnEntry": true, 
     "pythonPath": "${config.python.pythonPath}", 
     "program": "${file}", 
     "cwd": "null", 
     "console": "externalTerminal", 
     "debugOptions": [ 
      "WaitOnAbnormalExit", 
      "WaitOnNormalExit" 
     ] 
    }, 
    { 
     "name": "Django", 
     "type": "python", 
     "request": "launch", 
     "stopOnEntry": true, 
     "pythonPath": "${config.python.pythonPath}", 
     "program": "${workspaceRoot}/manage.py", 
     "cwd": "${workspaceRoot}", 
     "args": [ 
      "runserver", 
      "--noreload" 
     ], 
     "debugOptions": [ 
      "WaitOnAbnormalExit", 
      "WaitOnNormalExit", 
      "RedirectOutput", 
      "DjangoDebugging" 
     ] 
    }, 
    { 
     "name": "Flask", 
     "type": "python", 
     "request": "launch", 
     "stopOnEntry": false, 
     "pythonPath": "${config.python.pythonPath}", 
     "program": "fully qualified path fo 'flask' executable. Generally located along with python interpreter", 
     "cwd": "${workspaceRoot}", 
     "env": { 
      "FLASK_APP": "${workspaceRoot}/quickstart/app.py" 
     }, 
     "args": [ 
      "run", 
      "--no-debugger", 
      "--no-reload" 
     ], 
     "debugOptions": [ 
      "WaitOnAbnormalExit", 
      "WaitOnNormalExit", 
      "RedirectOutput" 
     ] 
    }, 
    { 
     "name": "Flask (old)", 
     "type": "python", 
     "request": "launch", 
     "stopOnEntry": false, 
     "pythonPath": "${config.python.pythonPath}", 
     "program": "${workspaceRoot}/run.py", 
     "cwd": "${workspaceRoot}", 
     "args": [], 
     "debugOptions": [ 
      "WaitOnAbnormalExit", 
      "WaitOnNormalExit", 
      "RedirectOutput" 
     ] 
    }, 
    { 
     "name": "Watson", 
     "type": "python", 
     "request": "launch", 
     "stopOnEntry": true, 
     "pythonPath": "${config.python.pythonPath}", 
     "program": "${workspaceRoot}/console.py", 
     "cwd": "${workspaceRoot}", 
     "args": [ 
      "dev", 
      "runserver", 
      "--noreload=True" 
     ], 
     "debugOptions": [ 
      "WaitOnAbnormalExit", 
      "WaitOnNormalExit", 
      "RedirectOutput" 
     ] 
    }, 
    { 
     "name": "Attach (Remote Debug)", 
     "type": "python", 
     "request": "attach", 
     "localRoot": "${workspaceRoot}", 
     "remoteRoot": "${workspaceRoot}", 
     "port": 3000, 
     "secret": "my_secret", 
     "host": "localhost" 
    } 
] 

ответ

0

ошибка говорит, что атрибут «program» отсутствует. Если мы посмотрим на эту конфигурацию,

{      <----- this is the problem vs code is having 
    "name": "Python Module", 
    "type": "python", 
    "request": "launch", 
    "stopOnEntry": true, 
    "pythonPath": "${config.python.pythonPath}", 
    "module": "module.name", 
    "cwd": "${workspaceRoot}", 
    "debugOptions": [ 
     "WaitOnAbnormalExit", 
     "WaitOnNormalExit", 
     "RedirectOutput" 
    ] 
}, 

Уверен, атрибута 'program' нет. Это необходимо, поэтому вы должны добавить его, если хотите использовать этот конфиг.

Атрибут 'program' должен указывать на программу, чтобы начать отладку. Примеры: "program": "${file}" для отладки открытого файла. "program": "${workspaceFolder}/foo.py" для отладки foo.py в папке рабочего пространства.

подробнее в документации: https://github.com/DonJayamanne/pythonVSCode/wiki/Debugging

+0

Спасибо! что получилось отлично! – ProgramNewbie

+0

Отлично! Не могли бы вы надеть флажок «принять» на этот ответ? –

+1

Я не вижу здесь полного ответа. Вы нашли именно причину ошибки, но не решение. Можете ли вы указать, что является значением «программы» при необходимости запуска модуля? – yucer

1

Вот что я сделал. Это дало мне ту же ошибку, но (44,9) по коду прямо над ним я видел "program": "${file}".

Я добавил эту строку в секции она возникла проблема с в вашем случае (40), и я ставлю этот код прямо над "cwd": "${workspaceRoot}/.env", поэтому мое будет выглядеть так:

{ 
     "name": "Python Module", 
     "type": "python", 
     "request": "launch", 
     "stopOnEntry": true, 
     "pythonPath": "${config:python.pythonPath}", 
     "module": "module.name", 
     "program": "${file}", 
     "cwd": "${workspaceRoot}", 
     "env": {}, 
     "envFile": "${workspaceRoot}/.env", 
     "debugOptions": [ 
      "WaitOnAbnormalExit", 
      "WaitOnNormalExit", 
      "RedirectOutput" 
     ] 
    }, 

Это, казалось, ремонт моей проблемы надеюсь, что это помогает кому-то.

Смежные вопросы