如何在不进行“Nosetests”的情况下在Pycharm中实际调试或运行.py文件?

问题描述 投票:1回答:3

我不知道我做了什么,或者我搞砸了什么设置,但我已经使用Pycharm好几个月了,突然间我进入了一些我无法摆脱的功能。

我仍然是python的新手,所以我设置了一个Python对象的简单测试。我想看看对象是否会在被调用的函数内更新...但这不是重点。不知何故,通过命名约定或其他东西,当我按下调试或运行时,我设法说服Pycharm切换到“nosetests”而不是运行代码。控制台没有任何输出......谷歌的情况是不可能的......

无论如何,我在Pycharm Python项目中做了以下事情:

我创建了一个名为scratch的目录(其中有一个__init__.py文件),然后是一个名为scratch.py的python文件。

scratch.py里面,我写了以下代码:

def add_item_function(x):
    x.list.append("hello,world")

class scratch(object):
    def __init__(self):
        self.list = []
    def add_item(self):
        add_item_function(self)

x = scratch()
add_item_function(x)
print(x.list)
y=1  #<-- here is where I put the breakpoint

无论我做什么,IDE只运行“nosetests”...我尝试将断点放入...并且代码实际上会在调试时达到断点...但是控制台的唯一输出属于“鼻子测试”而不是我的代码。

而且,我什么都没改变。我一直这样做 - 制作类,然后在它们下面运行函数和代码......这种情况从未发生过。


我发现调试的配置...和Nosetests默认为项目中的“脚本”...但我不能禁用它 - 它是一个单选按钮。我的代码的某些部分显然必须是一个鼻子...我如何切换/关闭它,让程序以我告诉它的方式运行?

pycharm
3个回答
0
投票

只需单击左上方菜单,当下拉列表出现时再次选择运行。它对我有用。更多细节在这里https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000413650-Disable-automatic-test-function


0
投票

你可以尝试Edit Configurationshttps://www.jetbrains.com/help/pycharm/2016.1/creating-and-editing-run-debug-configurations.html

还有一个建议是使用if __name__ == '__main__'来表明它是切入点,更多的细节:What does if __name__ == "__main__": do?


0
投票

我不知道是否适合你的情况。但根据我的编码,我只是改变了我的项目和我的班级的名称。我删除了代码中的所有“测试”或“测试”。然后我解决了我的问题......我想也许pycharm太聪明了,不能误解我们的代码......

© www.soinside.com 2019 - 2024. All rights reserved.