Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VisualStudio中断循环引用,控制台应用程序不运行相同的python_Python_Visual Studio - Fatal编程技术网

VisualStudio中断循环引用,控制台应用程序不运行相同的python

VisualStudio中断循环引用,控制台应用程序不运行相同的python,python,visual-studio,Python,Visual Studio,我有一个python方法,它使用codefoo=locals(),这会导致循环引用。如果我从控制台运行代码,比如说使用python.exe run.py代码工作并一直运行到最后。但是,如果我在Visual Studio中运行相同的代码,它将在ValueError上中断:检测到循环引用。VisualStudio使用的python解释器与我在控制台中调用的完全相同。这怎么可能 编辑: 回溯(最近一次呼叫最后一次): 文件“F:\Projekty\Betfair\Repos\Betfair\run.p

我有一个python方法,它使用code
foo=locals()
,这会导致循环引用。如果我从控制台运行代码,比如说使用
python.exe run.py
代码工作并一直运行到最后。但是,如果我在Visual Studio中运行相同的代码,它将在ValueError上中断:检测到循环引用。VisualStudio使用的python解释器与我在控制台中调用的完全相同。这怎么可能

编辑:

回溯(最近一次呼叫最后一次):
文件“F:\Projekty\Betfair\Repos\Betfair\run.py”,第16行,在
text_query='赛马'
文件“C:\Program Files\conda\lib\site-
packages\betfairlightweight\endpoints\betting.py”,第33行,在
列出事件类型
response=self.request(方法、参数、会话)
文件“C:\Program Files\conda\lib\site-
请求中第27行的packages\betfairlightweight\endpoints\baseendpoint.py”
请求=self.create_req(方法,参数)
文件“C:\Program Files\conda\lib\site-
packages\betfairlightweight\endpoints\baseendpoint.py”,第52行,在
创建请求
返回json.dumps(有效负载)
文件“C:\Program Files\conda\lib\json\\uuuuu init\uuuuuu.py”,第230行,转储
返回默认编码器编码(obj)
文件“C:\Program Files\conda\lib\json\encoder.py”,第198行,编码
chunks=self.iterencode(o,\u one\u shot=True)
iterencode中的文件“C:\Program Files\conda\lib\json\encoder.py”,第256行
返回_iterencode(o,0)
ValueError:检测到循环引用

运行没有问题

foo = locals() 
在程序中,无论哪种情况。循环引用非常常见,不应该停止程序。但是,听起来您正在使用一个调试器,它试图可视化值
foo
,但不支持使用循环引用可视化值。(它可能正在尝试将值转换为JSON。)


如果调试器无法处理循环引用,请在其inspector/watcher中查找忽略
foo
的选项,以避免崩溃。

能否显示完整的堆栈跟踪,以便我们了解ValueError的来源?我推测这是因为当调试器试图显示某个值时,该值的某个字符串表示试图将其转换为JSON,但我可能是错的。这也是我所怀疑的,但是我找不到一种方法如何从手表中排除该变量。
foo = locals()