首页 > 解决方案 > python3中的multi-var except语句上的Python无效语法

问题描述

尝试导入某些包时,我得到以下跟踪:

  File "/usr/local/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 3441, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  File "<ipython-input-6-9c5db07d999b>", line 1, in <module>
    import vmfusion

  File "/usr/local/lib/python3.9/site-packages/vmfusion/__init__.py", line 254
    except AttributeError, e:

我试图通过最小的例子来检查它并得到了相同的结果。但它在python2中工作。也许你知道我应该如何修复 python3 中的代码?

标签: python

解决方案


此类except子句的语法从 Python 2 更改为 Python 3。在 Python 3 中,您将使用except AttributeError as e.

此错误向我表明您正在加载的模块可能与 Python 3 不兼容(这可能只是您在使用它时遇到的第一个错误)。您应该检查它是否具有已更新为兼容的较新版本,或者是否存在带有更新代码的某些分支。即使您不需要任何 Python 3 特定的功能,仅适用于 Python 2 的代码也可能多年来没有修复任何错误(这对于非常稳定的代码库可能很好,但不如活跃的维护)。


推荐阅读