尝试导入具有类型化参数的类方法的模块时发生导入错误

2024-09-29 17:19:08 发布

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

我正在尝试导入已创建的模块(module_name.py) 但我看到了以下错误:

Traceback (most recent call last):
  File "test.py", line 80, in <module>
    testImportMethod()
  File "test.py", line 68, in testImportMethod
    m = __import__("module_name")
  File "/dir/module_name.py", line 147
    def insert_model(model: MyModel):
                          ^  
SyntaxError: invalid syntax

module_name.py具有以下代码:

class MyModel(object):
    property1 = None
    property2 = None

class ThingDAO(object):
    @staticmethod
    def get_thing_by_id(id):
    ...

    @staticmethod
    def insert_model(model: MyModel):
    ...

为什么导入过程在类型化参数方面有问题


Tags: nameinpytestnonemodelobjectdef
1条回答
网友
1楼 · 发布于 2024-09-29 17:19:08

不是导入过程在类型化参数方面有问题。问题是在python3.5(PEP 484)中添加了类型化参数,并在python2.7上引发了这样的语法错误

很可能(考虑到SyntaxError)您使用的是较旧版本的Python,要使其正常工作,您必须安装并使用较新的Python版本,或者在workarounds mentioned in the PEP上使用,例如:

class MyModel(object):
    property1 = None
    property2 = None

class ThingDAO(object):
    @staticmethod
    def get_thing_by_id(id):
        pass

    @staticmethod
    def insert_model(model):
        # type: (MyModel) -> None
        pass

相关问题 更多 >

    热门问题