使用PVTS进行调试时,出现了Pandas导入错误

5
我正在处理一个非常愚蠢的错误,想知道你们是否有同样的问题。当我尝试使用import pandas as pd导入pandas时,会在copy.py中出现错误。我调试了pandas的导入过程,并发现当pandas尝试导入以下内容时,会抛出复制错误:
from pandas.io.html import read_html
抛出的异常为:

un(shallow)copyable object of type <type 'Element'>

如果我直接运行代码而不使用PVTS调试器,就不会出现这个错误。我正在使用Python 2.7解释器,pandas版本为0.12,它随Python xy 2.7.5.1发行版和MS Visual Studio 2012一起提供。

任何帮助都将不胜感激。谢谢!


如果忽略异常并继续运行,程序是否会终止?可能是该代码路径上始终抛出异常,只是在上面进行了处理,但 PTVS 没有正确检测到。 - Pavel Minaev
Pavel,感谢您的见解。您是正确的,如果我按F5并继续运行程序,它将不会出现任何问题。在这种情况下,您有什么建议? - joeP
我得到的异常是这样的:copy.Error occured,所以我在 PTVS 的异常设置中寻找名为 copy 的 Python 异常,但我找不到它。有趣的是,在抛出异常时打开的对话框中,我看到“当抛出此异常类型时中断”未被选中。 - joeP
听起来这是一种自定义扩展类型。尽管如此,我们仍应该正确处理它。已经有一些类似的问题报告,即在调试器中显示异常时不应该显示(即当它们被堆栈捕获并且设置为不报告已捕获的异常时)。让我试试看能否重现这个问题。 - Pavel Minaev
这个现在由PTVS问题跟踪器中的一个错误进行跟踪:https://pytools.codeplex.com/workitem/2077 - Pavel Minaev
4个回答

5
这是 PTVS 检测未处理异常的局限性。由于代码来自字符串 eval(),PTVS 无法看到将捕获该异常的 except 块。有关详细信息,请参见 跟踪器中的错误
作为解决方法,在 "工具" -> "选项" -> "Python 工具" -> "调试" 中取消勾选 "调试标准库",这应该会导致忽略异常。

0

我有一段时间也遇到同样的问题,禁用“调试标准库”并没有帮助,然后我下载了最新版本的Python(3.4),使用pip安装了库(例如NLTK),问题得以解决!


0
我在开发PTVS应用程序时遇到系统崩溃,然后遇到了这个问题,重新运行Intellisense的“刷新DB”解决了它。

0

我也遇到了同样的问题,但只要点击“继续”,就会忽略它,代码执行将按照通常的方式进行。 或者你可以取消对话框中显示错误的“当此异常类型由用户处理时中断”选项的勾选。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接