我使用来自wile的 PyCharm / IntelliJ 社区版来编写和调试Python脚本,但现在我正在尝试调试 Python module ,并且PyCharm执行了错误的命令行指令解析,导致执行错误,或者我正在制作一个配置错误 .
这是我的运行/调试配置:
这是在我运行模块时执行的(这里没有问题):
/usr/bin/python3.4 -m histraw
但是当我调试时,这是IntelliJ控制台中的输出:
/usr/bin/python3.4 -m /opt/apps/pycharm/helpers/pydev/pydevd.py --multiproc --client 127.0.0.1 --port 57851 --file histraw
/usr/bin/python3.4: Error while finding spec for '/opt/apps/pycharm/helpers/pydev/pydevd.py' (<class 'ImportError'>: No module named '/opt/apps/pycharm/helpers/pydev/pydevd')
Process finished with exit code 1
如您所见,参数分析错误,在 -m
选项之后,IntelliJ调试脚本在模块名称之前传递 .
我也试过把 -m histraw
放在Script字段中,但不起作用,该字段只是放置Python脚本路径,而不是模块 .
有任何想法吗?
3 回答
还有另一种方法可以使它工作 . 你可以编写一个python脚本来运行你的模块 . 然后只需配置PyCharm来运行 this script .
然后调试器工作 .
我发现使用以下内容创建引导程序文件(debuglaunch.py)最简单 .
例如,要在pycharm调试器中启动locustio,我创建了debuglaunch.py,如下所示:
并配置pycharm如下 .
注意:除非我在main.main()上添加了断点,否则我发现无法进入调试器 . 然而,这可能是特定于locustio .
自PyCharm 4.5.2以来,这个问题已经解决了 . 请参阅PyCharm跟踪器中的相应问题:https://youtrack.jetbrains.com/issue/PY-15230