2017-09-13 31 views
2

我試圖導入一個模塊(module_name.py),我已經創建using __import__() 但我看到下面的錯誤模塊:導入錯誤嘗試導入具有類方法與類型參數

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): 
    ... 

爲什麼導入過程對類型化參數有問題?

回答

2

這不是導入過程中存在輸入參數問題。問題是在Python 3.5(PEP 484)中添加了類型化參數,並在Python 2.7中引發了這樣的SyntaxErrors。

可能的(給定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 
相關問題