nvim-dap-python
debugpy
nvim-dap-python | debugpy | |
---|---|---|
19 | 18 | |
447 | 1,659 | |
- | 3.6% | |
4.7 | 7.9 | |
25 days ago | 4 days ago | |
Lua | Python | |
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nvim-dap-python
-
struggling to setup python with nvim dap - module not found on import - need to setup dap root?
I think nvim-dap doesn't (always?) use neovim current working directory as root, which can cause issues like yours. I'd recommend using https://github.com/mfussenegger/nvim-dap-python along with a local .nvim.lua (:h 'exrc') with the following config:
-
How can I debug Python code in neovim!
You could use nvim-dap with nvim-dap-python.
-
How to debug python code in neovim
I'd suggest starting with a Neovim distro that makes things work for you and as you get familiar you can transition to a more custom configuration as you see fit. If you want to do it by yourself then the most popular plugin for debugging in Neovim is nvim-dap and there is also an extension for Python to give you a more ready to go config instead of doing it yourself. You should read the docs of those 2 to see how you should customize accordingly your configuration.
-
Need help setting working directory of my debugger for python in neovim
I figured out a solution btw. I got this plugin and created a .vscode/launch.json file for my project and set the cwd in there
-
Does anyone ever use Neovim to debug PyTorch?
lmao. I'm asking this because I'm trying to do this. Just want to know whether this is a good idea. I have some basic setup using nvim-dap-python.
-
What has been people's experience with nvim-dap? Or integrating the debugging experience within Neovim itself?
-- Debug adapter plug-in. Debug anything in Neovim { "mfussenegger/nvim-dap", config = function() vim.keymap.set("n", "d", ":DapContinue") vim.keymap.set("n", "dl", ":DapStepInto") vim.keymap.set("n", "dj", ":DapStepOver") vim.keymap.set("n", "dh", ":DapStepOut") vim.keymap.set("n", "dz", ":ZoomWinTabToggle") vim.keymap.set( "n", "dgt", -- dg as in debu[g] [t]race ":lua require('dap').set_log_level('TRACE')" ) vim.keymap.set( "n", "dge", -- dg as in debu[g] [e]dit function() vim.cmd(":edit " .. vim.fn.stdpath('cache') .. "/dap.log") end ) vim.keymap.set("n", "", ":DapStepOut") vim.keymap.set("n", "", ":DapStepOver") vim.keymap.set("n", "", ":DapStepInto") vim.keymap.set( "n", "d-", function() require("dap").restart() end ) vim.keymap.set( "n", "d_", function() require("dap").terminate() require("dapui").close() end ) end, lazy = true, }, -- A default "GUI" front-end for nvim-dap { "rcarriga/nvim-dap-ui", config = function() require("dapui").setup() -- Note: Added this dd duplicate of because somehow the -- mapping keeps getting reset each time I restart nvim-dap. Annoying but whatever. -- vim.keymap.set( "n", "dd", function() require("dapui").open() -- Requires nvim-dap-ui vim.cmd[[DapContinue]] -- Important: This will lazy-load nvim-dap end ) end, dependencies = { "mfussenegger/nvim-dap", "mfussenegger/nvim-dap-python", -- Optional adapter for Python }, }, -- TODO: Make sure that debugpy is installed. Otherwise, disable -- Reference: https://github.com/mfussenegger/nvim-dap-python#installation -- { "mfussenegger/nvim-dap-python", config = function() require("dap-python").setup("/path/to/python/here") -- XXX: Replace this with your preferred Python, if wanted -- An example configuration to launch any Python file, via Houdini -- table.insert( -- require("dap").configurations.python, -- { -- type = "python", -- request = "launch", -- name = "Launch Via hython", -- program = "${file}", -- python = "/opt/hfs19.5.569/bin/hython" -- -- ... more options, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings -- } -- ) end, dependencies = { "mfussenegger/nvim-dap", "nvim-treesitter/nvim-treesitter", }, }, -- Remember nvim-dap breakpoints between sessions, ``:PBToggleBreakpoint`` { "Weissle/persistent-breakpoints.nvim", config = function() require("persistent-breakpoints").setup{ load_breakpoints_event = { "BufReadPost" } } vim.keymap.set("n", "db", ":PBToggleBreakpoint") end, }
-
Supercharge Python Development with this Plugin
Oh yes.. I think https://github.com/mfussenegger/nvim-dap-python is what you are looking for. The configuration might not be as simple as the VS code equivalent but seems to serve the same purpose?
-
Finding the right Virtual Envs with Pyright and DAP.
But how do specify the same virtual env for Debugging with dap? nvim-dap-python is looking for the env variables VIRTUAL_ENV and CONDA_PREFIX. But that means i cannot open multiple python projects in the same nvim instance.
-
What IDE do you think is best for Python Programming? I currently am using Visual Studio Code but am open to test others...
Yes, you can use nvim-dap-ui on top of nvim-dap or just nvim-dap-python (note that I haven‘t used the latter). Both options are able to parse .vscode/launch.json debug configs.
-
How to setup neotest with neotest-python and dap?
Have you installed and configured nvim-dap and nvim-dap-python ?
debugpy
-
How to debug Django inside a Docker container with VSCode
debugpy description from it's repository:
-
Show HN: Mutable.ai – Turn your codebase into a Wiki
I'd love to see what it can do with https://github.com/microsoft/debugpy - and especially how it would handle vendored dependencies.
-
Need help setting working directory of my debugger for python in neovim
I read that nvim-dap-python uses debugpy which has all these configuration parameters of which one of them is `cwd` which represents the "absolute path to the working directory of the program being debugged".
-
nvim-dap closes my remote session each time I try to restart - how do I make it stop?
Hey all, I'm not sure if this is normal or not but, when debugging with nvim-dap, nvim-dap-ui, and nvim-dap-python (which uses debugpy) over a remote session, dap runs exactly once and then closes the entire process. This even happens when I just call `require("dap").restart()`. It's pretty frustrating to deal with and is not something that I was used to when I used to debug with vimspector, which let me restart the debug remotely as many times as I wanted without killing the application that I was connected to. Is this happening for anyone else? How do I disable it? I didn't see anything in debugpy's configuration options. I'm rereading dap's vim :help but haven't found any mention of auto-close / terminate logic yet.
-
What has been people's experience with nvim-dap? Or integrating the debugging experience within Neovim itself?
-- Debug adapter plug-in. Debug anything in Neovim { "mfussenegger/nvim-dap", config = function() vim.keymap.set("n", "d", ":DapContinue") vim.keymap.set("n", "dl", ":DapStepInto") vim.keymap.set("n", "dj", ":DapStepOver") vim.keymap.set("n", "dh", ":DapStepOut") vim.keymap.set("n", "dz", ":ZoomWinTabToggle") vim.keymap.set( "n", "dgt", -- dg as in debu[g] [t]race ":lua require('dap').set_log_level('TRACE')" ) vim.keymap.set( "n", "dge", -- dg as in debu[g] [e]dit function() vim.cmd(":edit " .. vim.fn.stdpath('cache') .. "/dap.log") end ) vim.keymap.set("n", "", ":DapStepOut") vim.keymap.set("n", "", ":DapStepOver") vim.keymap.set("n", "", ":DapStepInto") vim.keymap.set( "n", "d-", function() require("dap").restart() end ) vim.keymap.set( "n", "d_", function() require("dap").terminate() require("dapui").close() end ) end, lazy = true, }, -- A default "GUI" front-end for nvim-dap { "rcarriga/nvim-dap-ui", config = function() require("dapui").setup() -- Note: Added this dd duplicate of because somehow the -- mapping keeps getting reset each time I restart nvim-dap. Annoying but whatever. -- vim.keymap.set( "n", "dd", function() require("dapui").open() -- Requires nvim-dap-ui vim.cmd[[DapContinue]] -- Important: This will lazy-load nvim-dap end ) end, dependencies = { "mfussenegger/nvim-dap", "mfussenegger/nvim-dap-python", -- Optional adapter for Python }, }, -- TODO: Make sure that debugpy is installed. Otherwise, disable -- Reference: https://github.com/mfussenegger/nvim-dap-python#installation -- { "mfussenegger/nvim-dap-python", config = function() require("dap-python").setup("/path/to/python/here") -- XXX: Replace this with your preferred Python, if wanted -- An example configuration to launch any Python file, via Houdini -- table.insert( -- require("dap").configurations.python, -- { -- type = "python", -- request = "launch", -- name = "Launch Via hython", -- program = "${file}", -- python = "/opt/hfs19.5.569/bin/hython" -- -- ... more options, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings -- } -- ) end, dependencies = { "mfussenegger/nvim-dap", "nvim-treesitter/nvim-treesitter", }, }, -- Remember nvim-dap breakpoints between sessions, ``:PBToggleBreakpoint`` { "Weissle/persistent-breakpoints.nvim", config = function() require("persistent-breakpoints").setup{ load_breakpoints_event = { "BufReadPost" } } vim.keymap.set("n", "db", ":PBToggleBreakpoint") end, }
-
Unable to view complex numpy arrays in Dataviewer in VSCode
After testing I have the same situation. I reported this issue on GitHub, you can follow up.
-
How to setup neotest with neotest-python and dap?
vim.fn.sign_define('DapBreakpoint', {text='🛑', texthl='', linehl='', numhl=''}) dap.configurations.python = { { -- The first three options are required by nvim-dap type = 'python'; -- the type here established the link to the adapter definition: `dap.adapters.python` request = 'launch'; name = "Launch file"; -- Options below are for debugpy, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings for supported options program = "${file}"; -- This configuration will launch the current file if used. pythonPath = function() -- debugpy supports launching an application with a different interpreter then the one used to launch debugpy itself. -- The code below looks for a `venv` or `.venv` folder in the current directly and uses the python within. -- You could adapt this - to for example use the `VIRTUAL_ENV` environment variable. return os.getenv("VIRTUAL_ENV") .. "/bin/python" or '/usr/bin/env python' end; }, }
- How does mfussenegger / nvim-dap-python with nvim-dap runs the code in venv?
- What Python debugger do you use?
-
Any functionality like VS Code debugger from command line (for Python)?
You should take a look at DAP (Debug Adapter Protocol). There exist a Python module implementing this protocol (debugpy) and you can probably find some client applications that can hook into it (like this neovim plugin).
What are some alternatives?
nvim-dap - Debug Adapter Protocol client implementation for Neovim
mason-lspconfig.nvim - Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim.
python-lsp-server - Fork of the python-language-server project, maintained by the Spyder IDE team and the community
vim-test - Run your tests at the speed of thought
mason-nvim-dap.nvim
packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config
nvim-config
vim-ultest - The ultimate testing plugin for (Neo)Vim
pdbpp - pdb++, a drop-in replacement for pdb (the Python debugger)
trouble.nvim - 🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.
fastapi-vscode-debug-setup - Sample configuration to setup fastapi debugging with vscode and docker-compose