I'm using vs code 2.0 with python 3.6 and want to configure a task to run he the current python file. The tasks.json file has the below lines
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"taskName": "echo",
"type": "shell",
"command": "echo Hello"
}
]
}
How to fill the lines to fit my needs. I tried many solutions with no avail, especially the one here Configure Vs code version 2.0.0 Build Task for python it shows the below error
> Executing task: python d:\books\programming Languages\python\Projects\.vscode\tasks.json <
C:\Users\[myuser]\Anaconda3\python.exe: can't open file 'd:\books\programming': [Errno 2] No such file or directory
The terminal process terminated with exit code: 1
Please help in steps because I'm very new to python.
Minimum configuration:
{
"version": "2.0.0",
"command": "python",
"args":["${file}"]
}
Optimal configuration you can find here:
Configure Vs code version 2.0.0 Build Task for python
Related
I am trying to debug an azure function app in VSCode using Python in a Windows10 environment. Whenever I launch the debugger it hangs for a long period of time and then opens a message box that says
ECONNREFUSED 127.0.0.1:9091
There are a bunch of posts about this but none seem helpful/can solve the problem. Here is what I've tried:
uninstalling and re-installing different versions of
azure-function-core-tools using windows installer, npm and chocolatey
uninstalling and re-installing Azure Functions extension in VS Code
changing the extension bundle
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
modifying local.settings.json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "python"
}
}
deleting C:\Users\admin.azure-functions-core-tools\Functions\ExtensionBundles
creating a function app from command line using "func init" and lauching debugger by running "func host start" in active venv
I am using Python38 and really have no idea what else to try. Any suggestions are welcome.
Thanks!
Cannot launch debugger for azure function app in VScode-
ECONNREFUSED 127.0.0.1:9091
This type of generic error may occur for a variety of reasons.
Need to check and modify:
First and foremost, check whether the versions of Azure functions core tools and Pip are upgraded to the current version:
To upgrade pip:
python -m pip install --upgrade pip
To install and upgrade azure-functions:
pip install azure-functions
Go to the below path,
view -> Command palette -> User Settings
Python functions, task runFunctionsHost windows command only work with powershell:
Set the integrated > default profile: Windows to PowerShell as PowerShell runtime host is functional with Python functions. It was previously set to "null".
The debug configuration is specified in your tasks.json and launch.json files in the .vscode folder.
As stated here , the default listening port in launch.json is set to 9091. Here, I updated it to "port: 7071" which is open for traffic on my function project, launched the files, and then executed the "Attach to Python Functions" debug task once again.
Under .VScode folder -> launch.json file, this configuration changes works for me.
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "python_modules./.bin/func",
"console": "integratedTerminal"
},
{
"name": "Attach to Python Functions",
"type": "python",
"request": "attach",
"port": 7071,
"preLaunchTask": "func: host start"
}
]
}
Added multiple debug points, debugged and triggered successfully as shown below:
Also Check here for more approaches given by #Hari Krishna
found the solution at:
https://github.com/Azure/azure-functions-core-tools/issues/3160#issuecomment-1266273749
I ran command func start in verbose mode
func start --verbose
from there it was clear that the process timed out when trying to download a new extension bundle. Most likely due to slow internet. I manually installed the new extension bundle:
https://functionscdn.azureedge.net/public/ExtensionBundles/Microsoft.Azure.Functions.ExtensionBundle/3.15.0/Microsoft.Azure.Functions.ExtensionBundle.3.15.0_any-any.zip
(the full path should be in the --verbose output) and extracted to
C:\Users[user name].azure-functions-core-tools\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle\3.15.0
It now works. Thanks everyone for input.
I use VS Code extension Python version 2.2x, Python interpreter version 2.7x, and use Odoo 10 of the latest version. I'm using WSL with Ubuntu 18.4 LTS.
I cannot debug the custom modules my company creates. I've specified the module's path in the argument, and it does run but it's not breaking at the breakpoints I specified.
Here's my launch.json:
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "/home/ihsansfd/odoo/odoo-bin",
"python": "/usr/bin/python",
"args": [
"--db_port=5434",
"--addons-path=/mnt/d/kuliah/odoo/repo/MUK/base,/mnt/d/kuliah/odoo/repo/MUK/core,/mnt/d/kuliah/odoo/repo/MUK/modifier",
],
"console": "integratedTerminal",
"justMyCode": true
},
Aside from request launch, I also tried attach and using a pip library debugpy for that but it's still only running without debugging.
I am really sure that it should hit the breakpoint because I've set a print statement there and it printed!
Any help would be appreciated. If you need any further detail please do ask.
Although you mentioned you've tried using attach with debugpy, I'm sharing my configuration since attach and debugpy is what I use every day without any issues.
Here is the shell command I use to run odoo via debugpy.
python3 /debug/debugpy --listen 0.0.0.0:5678 <odoo-bin-path> <odoo-args>
Change python3 to just python for your use case. Also change 0.0.0.0:5678 to whatever you need as well. I like to run Odoo inside a Docker container, and that's also the reason why I prefer to simply attach to the process rather than launching it right from VS Code.
I installed debugpy to /debug/debugpy using this command:
python3 -m pip install debugpy -t /debug
Here is the launch configuration I use in my launch.json:
{
"name": "Attach to Odoo",
"type": "python",
"justMyCode": false,
"request": "attach",
"host": "localhost",
"port": 5678,
"pathMappings": [
...
I need path mapping for my setup to map the
location of my local Odoo source code directory
to the location of the Odoo source code directory
inside of the Docker container. Depending on your
setup, you might be able to just skip this option.
...
]
}
Hopefully this helps!
I am a beginner with programming. I have a problem with my python interpreter(or that is what I think). I installed vs code as an editor, python extension(from Microsoft) and cmder(mini version) as a terminal. When I run the python code in vs code, a message appear and tells me that:
"The terminal process failed to launch: Path to shell executable "C:\Windows\SysNative\WindowsPowerShell\v1.0\powershell.exe" does not exist."
So what I have to do?
Too add a Python Interpreter, you can follow this official documantation
Also, you can follow this QA on Stackoverflow which has been asked before.
It should be C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe instead of C:\Windows\SysNative\WindowsPowerShell\v1.0\powershell.exe.
Have you configured terminal.integrated.profiles.windows in the settings.json file? For example:
"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell",
"path": [
"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
],
"args": ["-NoLogo"]
},
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
}
},
Can you remove it or configure it to the right path?
Update:
Sorry for that, I forgot you are a beginner with programming.
Could you find powershell.exe under:
C:\Windows\System32\WindowsPowerShell\v1.0
Or
C:\Windows\SysNative\WindowsPowerShell\v1.0
If you can find it in the System32 folder, you can copy the above configuration to the settings.json file.
You can select File -> Preferences -> Settings to open the settings(shortcut of Ctrl+,). You can refer to the official docs for more details.
If you want to know more, you can refer to this page.
I want to debug python code (on remote linux) in local windows with VS code.
I did as follows:
In windows VS code, I can open remote linux python project using SSH.
Installed python debug tool ptvsd both in windows and remote linux.
Add code below in python project:
import ptvsd
ptvsd.enable_attach(address = ('$linux_ip', $port))
ptvsd.wait_for_attach()
Project launch.json:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Remote Attach",
"type": "python",
"request": "attach",
"connect": {
"host": "$linux_ip",
"port": $port
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "$my_real_linux_ws"
}
]
}
]
}
Start run in remote linux.
Add break points in vs code, and run -> start debugging, then hit an issue as follows. I am confused that test.py is not in dir /c4_working/test.py but in dir /c4_working/python_code/test.py. And this file actually exists. So I am not sure why it would want to find the file in dir /c4_working/test.py? How would I fix it?
Have you read the documentation before asking your question?
A specially this part:
PS: strongly recommend to check remote-pdb as well.
Fixed this issue after creating a new launch.json file for this dir /c4_working/python_code.
I want to run python .py file in Visual Studio Code using Windows bash console.
What I tried to do:
Change default shell in settings.json:
{
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe"
}
Add task in tasks.json to run python command with file name as an argument:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"command": "python",
"isShellCommand": true,
"showOutput": "always",
"tasks": [
{
"taskName": "Run python in bash",
"suppressTaskName": true,
"args": ["${file}"]
}
]
}
There are a few problems to solve here:
Tasks are not being run in bash as I wanted
To access C drive I need to replace C:\ with /mnt/c in file path
Can you share with my solutions to those problems?
I don't have Windows 10 with bash but I'd imagine the problem is that you're not actually trying to run Python. You're trying to run bash (and then run python). Try setting the command to bash with params ["python", "$file"].