如何在 python *.py 之前使用命令在 pycharm 中调试?
Posted
技术标签:
【中文标题】如何在 python *.py 之前使用命令在 pycharm 中调试?【英文标题】:how to debug in pycharm with command before python *.py? 【发布时间】:2021-12-19 04:54:32 【问题描述】:我正在尝试调试公司服务器中的代码,但是,我需要通过使用特定命令来获得许可(简而言之,我将其称为 p
)。如何在 pycharm 中使用启动命令进行调试
p python main.py
我尝试编辑配置,但参数和解释器选项都没有按预期工作。有没有什么设置可以修改启动python的命令?
使用pdb
显示变量值的能力不能满足我的要求。
【问题讨论】:
不确定这是否可行,但您可以尝试将p python
制作为批处理文件/shell 脚本并将该脚本添加到 PyCharm 作为新的 Python 解释器。
我试过了,但我只是不知道如何在使用调试模式时运行批处理文件/shell 脚本。但我认为这是个好主意,我会再试一次。
我的意思是使用批处理文件作为项目的 python 解释器,使用 Add Python Intepreter 菜单。
哦,我明白你的意思了!多谢。我现在正在尝试。
无法用批处理文件作为python解释器连接pycharm调试器,可惜了。
【参考方案1】:
这在 macOS 11 上对我有用。由于我不知道您问题中的 p
是什么,因此我使用了 time
命令进行测试:
创建了一个名为 /var/tmp/python
的 shell 脚本并使其成为可执行文件 (chmod +x /var/tmp/python
):
#!/bin/sh
time /usr/bin/python3 "$@"
"$@"
用于将传递给/var/tmp/python
的所有命令行参数传递给实际的/usr/bin/python3
。
然后我added a new System Interpreter in PyCharm 并选择/var/tmp/python
作为可执行文件。
当我调试“Hello world”应用程序时,输出如下:
/var/tmp/python /Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevd.py --multiproc --qt-support=auto --client 127.0.0.1 --port 53332 --file "/var/tmp/hello_world.py"
Connected to pydev debugger (build 212.5457.59)
Hello, world!
real 0m3.091s
user 0m0.292s
sys 0m0.078s
Process finished with exit code 0
如您所见,除了执行/调试应用程序之外,它还打印了经过的总时间。
【讨论】:
我想在远程服务器上运行一个 .py 代码,所以我不能选择“系统解释器”,因为它似乎只选择了本地解释器。当我添加一个 ssh 解释器时,stderr 是“Could not get a remote socket from output” 哦!我想弄清楚为什么它不能与 ssh 配置一起使用。我重新配置了 ssh 解释器。它现在工作了,非常感谢!希望有一天能和你一样精通python。以上是关于如何在 python *.py 之前使用命令在 pycharm 中调试?的主要内容,如果未能解决你的问题,请参考以下文章