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

目录结构:

utils.py

python 复制代码
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

python 复制代码
from utils import (
    select_Jrandom, 
    clip_alpha)

import numpy as np
import pdb
...

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

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

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

报错信息为:

shell 复制代码
 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报错信息:

shell 复制代码
(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不能智能选择哪个而产生错误。

相关推荐
吴佳浩6 小时前
Python入门指南(五) - 为什么选择 FastAPI?
后端·python·fastapi
寰天柚子6 小时前
Java并发编程中的线程安全问题与解决方案全解析
java·开发语言·python
2503_928411567 小时前
项目中的一些问题(补充)
人工智能·python·tensorflow
superman超哥7 小时前
仓颉语言中锁的实现机制深度剖析与并发实践
c语言·开发语言·c++·python·仓颉
vv_Ⅸ7 小时前
打卡day42
python
Lvan的前端笔记8 小时前
python:深入理解 Python 的 `__name__ == “__main__“` 与双下划线(dunder)机制
开发语言·python
爱笑的眼睛118 小时前
深入解析Matplotlib Axes API:构建复杂可视化架构的核心
java·人工智能·python·ai
爱埋珊瑚海~~8 小时前
基于MediaCrawler爬取热点视频
大数据·python
工程师丶佛爷9 小时前
从零到一MCP集成:让模型实现从“想法”到“实践”的跃迁
大数据·人工智能·python
2501_921649499 小时前
免费获取股票历史行情与分时K线数据 API
开发语言·后端·python·金融·数据分析