使用pycharm进行交互式shell调试

use*_*407 73 python pycharm python-idle

我是PyCharm的新手.我一直在使用IDLE很长一段时间.

在IDLE中执行脚本后使用Python对象非常方便.有没有办法在使用PyCharm使用交互式python shell执行后使用脚本对象?

例如,我们有一个'test'项目,其中包含一个文件'test.py':

a = '123'
print a
Run Code Online (Sandbox Code Playgroud)

执行后我们可以得到结果:

123
Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)

如何在交互式shell中使用字符串'a'?

ccp*_*zza 111

用于当前调试会话的内置python shell

  1. 在代码中感兴趣的行设置断点(即通过单击装订线),然后启动调试(在编辑器中单击鼠标右键,然后选择Debug myfile.py ...).
  2. 到达断点时,找到Debug > Console选项卡,然后单击Show command line图标(参见屏幕截图).

这将启用python shell(注意>>>屏幕截图上的绿色),您可以在其中访问当前作用域中的所有变量,并执行您在Python shell中通常执行的所有操作.

在最近的pycharm版本中,您将获得完整的ipython解释器而不是普通的python shell(如果安装了ipython).

为调试的应用程序启用Python shell

评估表达窗口

作为一种更舒适的替代方法,如果您只需要检查一些变量,访问成员或调用范围内对象的方法,一旦到达断点,在当前范围中选择一个表达式,右键单击 - > 评估表达式(或使用在RunEvaluate Expression...)下的菜单中显示的热键,根据需要进行编辑 - 您可以键入任何 python表达式,并且可以使用自动完成 - 然后按Enter键(或单击" 评估")以检查结果.

支持多行和多行表达式:要获取Inspect对话框的多行版本,请单击代码片段模式或在编辑器中选择多行代码,然后计算表达式.您可以为现有变量赋值(无法定义新变量),并运行整个代码块. 检查当前范围内的变量

鼠标悬停在变量上

要在调试模式下点击断点后查看变量的值,请将鼠标指针悬停在变量上(1-2秒),该值将显示在工具提示中.

在此输入图像描述

提示将包含一个图标 - 单击它将在弹出窗口中打开检查器.

在此输入图像描述

对于范围中的变量,检查器显示在Debug > Debugger下的底部面板中.

对于pandas数据框,您将在变量检查器面板或悬停弹出窗口中看到View as DataFrame链接 - 单击该链接将在"数据视图"面板中将数据框显示为表格.

  • 可以使用Alt-Left或Alt-Right将选项卡从调试器切换到控制台 (2认同)

elg*_*lge 19

我发现以前的答案来自Piga-fetta,Games Brainiac和kobejohn 很有用,但并不令人满意.所以我在这里提供第三种选择:

将所选代码加载到控制台(我的建议)

使用Shift+ Alt+ E将所选代码或光标放入控制台的行加载并立即运行.这也有一些缺点:

  • 如果需要运行整个文件,则必须选择整个文件.
  • 即使遇到错误,代码也会继续运行.

但作为回报,我们得到的功能优于IDLE(在我看来):能够一次运行一个选择的代码.

在这里阅读它.

使用断点和评估表达式(Alt- F8)(由Piga-fetta建议)

这在大型应用程序中非常有用,我们需要在代码中的某些位置进行调试,但对交互式编码不太有用.所以这不是我们想要的.

使用工具 - >运行Python控制台(由Games Brainiac和kobejohn建议)

这是我们想要的,但是有点麻烦,特别是如果我们想要运行的模块不在项目的根目录中.


Gam*_*iac 11

您可以在PyCharm 2和PyCharm 3中使用Python控制台.您只需导入,因为您的项目根目录已添加到您的PYTHONPATH:

所以让我通过一些屏幕截图来演示:

1. console.py在根目录中创建文件

在此输入图像描述

2.在PyCharm中打开Python控制台

在此输入图像描述

3.从console.py文件导入变量

在此输入图像描述

在那里,您已成功导入变量.

  • 由于voilà是法语,我想补充一点,中提琴意味着被强奸. (3认同)
  • 你的意思是'voilà'? (2认同)

Ram*_*ins 11

执行后让命令行保持打开状态

对于仍然遇到此问题的任何人:转到"运行/调试"菜单,选择"编辑配置",选中"显示命令行"框,这样您就可以在>>>提示符下在控制台中输入参数并测试您的功能.

仅更改当前文件的设置

全局配置

要使此更改适用于所有.py文件(因为此复选框仅适用于您正在处理的当前文件),请转到:编辑配置,在弹出窗口中您将看到左侧的菜单树,选择默认值然后是Python,然后检查"显示命令行"框,这将使它成为默认设置,无论何时打开.py文件,(此功能应该默认打开!)

更改所有Python文件的设置

  • 现在选项不再是“之后显示命令行”,而是“使用 Python 控制台运行” (3认同)

小智 6

我找到了最好的答案: 执行后与程序交互

引用下面的答案:

++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++

从python的输出--help:

-i:运行脚本后以交互方式检查; 即使stdin似乎不是终端,也强制提示; PYTHONINSPECT = x

要在PyCharm中设置解释器选项,请转到"运行"|"编辑配置"

++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++

我尝试了它并且它有效 - 只需使用"-i"(不带引号)作为"解释器选项".请注意,如果仅更改"运行/调试配置"中的"默认值",则可能不会立即生效以前运行的脚本; 您需要逐个编辑这些脚本的配置.