我怎么用PyCharm管理博士?

2024-06-07 07:00:47 发布

您现在位置:Python中文网/ 问答频道 /正文

在PyCharm IDE中,如果我用doctest右键单击一个函数/方法,有时右键菜单会给我一个选项:“运行‘doctest my_function_name’”,有时右键菜单只提供运行整个文件(而不是作为doctest)的选项。

什么决定了它何时会提供“run doctest”选项,何时不会?有没有办法强迫它这样或那样?


Tags: 文件方法函数runnamemy选项菜单
3条回答

PyCharm中运行模块(或其中的测试)是通过Run Configuration完成的。右键单击模块时,PyCharm会搜索该模块的现有Run Configuration。如果找到配置(这可能是由于以前的运行或手动创建的Configuration),则PyCharm将只建议运行该配置。

例如,如果创建了module.py的配置以运行其doctests,则右键单击module.py时将看到该选项。但是,如果找不到配置,PyCharm建议以不同的选项运行模块,具体取决于模块中的代码(定期运行,或运行doctests/unittests)。一旦选择了一个选项,PyCharm将隐式地创建相应的临时Run Configuration。从这里开始,右键单击模块时,您将只获得为该模块创建的配置。

重要提示:PyCharm最多可保存6个临时(即通过运行模块创建的ConfigurationsRun Configurations-3(在“Python”中),即脚本,在“Python测试”中为3个)。这意味着,如果运行moduleA.pymoduleB.pymoduleC.py,然后运行moduleD.py,PyCharm中的临时Configurations将是moduleB.pymoduleC.pymoduleD.py。除非显式保存,moduleA.py的配置将自动删除。

这种行为可以再现如下:

  1. PyCharm中,创建一个新的Python模块:“temp”

2.在模块中添加以下内容:

"""
    >>> print 3.14
    3.14
"""

if __name__ == '__main__':
    pass
  1. 右键单击doctest部分,可以选择“在temp中运行Doctests”
  2. 右键单击main部分可选择“运行'temp'”
  3. 选择任何一个选项,都会使另一个选项在随后的运行中消失。E、 例如,选择运行模块将使运行Doctests的选项在后续运行中消失,反之亦然。 回到第一个阶段,可以在两个选项之间进行选择,方法是删除模块的“运行配置”:

运行-->;编辑配置-->;找到模块的当前配置(通常突出显示)-->;单击“减号”按钮(左上角)-->;单击“应用”->;单击“确定”。 现在我们回到第三步。

(转载于PyCharm5.0和4.5)

总结一下:

  • 如果找不到Run Configuration,PyCharm建议以任何可能的方式运行模块(作为脚本、doctests或unittests)
  • 如果发现了Run Configuration,PyCharm只建议Configuration
  • 如果PyCharm没有给您想要的run选项,请找到阻止它给您这个选项的Run Configuration,然后删除它,或者创建一个新的可以按您想要的方式运行文件或方法/函数的文件。

如果上面的对您不起作用-请确保您的模块是而不是命名的doctest;它将导致冲突并因此导致异常。

如果不想删除配置,也可以按Run | Resume Program(我是F9)的快捷键,弹出一个完整的选项列表

相关问题 更多 >