自学内容网 自学内容网

vscode导入模块不显示类型注解

目录结构:

在这里插入图片描述

utils.py

import random
def select_Jrandom(i:int, m:int) -> int:
    """
    随机选择一个不等于 i 的整数
    """
    j = i
    while j == i:
        j = int(random.uniform(0, m))
    return j

def clip_alpha(alpha_j:float, H:float, L:float) -> float:
    """
    修剪 alpha_j
    """
    if alpha_j > H:
        alpha_j = H
    if alpha_j < L:
        alpha_j = L
    return alpha_j

smoSimple.py

from utils import (
    select_Jrandom, 
    clip_alpha)

import numpy as np
import pdb
...

在vscode中导入utils模块时,导入后不显示类型注解。

在这里插入图片描述

但是以.utils形式导入就有注解:

在这里插入图片描述

但是,以.uitls导入后,运行python smoSimple.py就会报错

报错信息为:

 File "E:\Graduate\ML_PDE\ML\SVM\smoSimple.py", line 1, in <module>
    from .utils import (
ImportError: attempted relative import with no known parent package

python -m smoSimple.py报错信息:

(base) PS E:\Graduate\ML_PDE\ML\SVM> python -m .\smoSimple.py
E:\Anacoda_store\python.exe: Relative module names not supported

当我将目录utils改个名字后,发现就有类型注解。

在这里插入图片描述

综上,应该是两个utils的存在,导致vscode不能智能选择哪个而产生错误。


原文地址:https://blog.csdn.net/qq_63432403/article/details/145286929

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!