【发布时间】:2021-02-09 21:01:05
【问题描述】:
我有一个 Python 包package_name,它提供了一个命令行应用程序command-line-app-name 作为console_script:
setup.py:
setup(
...
entry_points={"console_scripts": ["command-line-app-name=package_name.cli:main"]},
...
)
virtualenv 位于<project>/.venv 并由pipenv 管理。 pipenv 托管 venvs 应该支持 VSCode 调试集成。我创建了一个调试器配置launch.json 文件,其中将 Python 路径设置为 venv (pythonPath):
{
// 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: command-line-app-name",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"program": "command-line-app-name",
"linux": {
"pythonPath": "${workspaceFolder}/.venv/bin/python",
"args": ["-r", "/home/florian/gitlab/package_name/data/Test_MRM.d"]
},
"windows": {
"pythonPath": "${workspaceFolder}/.venv/Scripts/python.exe",
"args": ["-r", "D:\\MassHunter\\Data\\demo_0000.d"],
},
"console": "integratedTerminal"
}
]
}
Windows 和 Linux 特定的 venv python 可执行文件和命令行参数不应产生影响。如果我运行调试器,我会得到:FileNotFoundError: [Errno 2] No such file or directory: '/home/florian/gitlab/package-name/command-line-app-name'。似乎我以某种方式误解了文档。我试图寻求帮助 w.r.t. vscode-python 和 debugpy 没有成功。如何调试控制台脚本命令行应用程序(而不是包模块)?
【问题讨论】:
标签: python visual-studio-code vscode-debugger