如何使用Visual Studio代码修复python中的ModuleNotFoundError

如何使用Visual Studio代码修复python中的ModuleNotFoundError,python,python-3.x,visual-studio-code,Python,Python 3.x,Visual Studio Code,我正在开发一个基本的学生学位管理器,用于学习Python,我还在VS代码和Python 3.7.3环境中编写代码 我已经创建了一个名为clases的包,其中包含\uuuu init\uuuuuuuuuuuy和notapacial.py文件,其中notapacial.py也是一个名为notapacial的类 当我尝试使用语法form clases.notapacial import* 我已经尝试在包中放入一个\uuuu init\uuuu.py文件 错误消息是: 发生异常:ModuleNotFou

我正在开发一个基本的学生学位管理器,用于学习Python,我还在VS代码和Python 3.7.3环境中编写代码

我已经创建了一个名为
clases
的包,其中包含
\uuuu init\uuuuuuuuuuuy
notapacial.py
文件,其中
notapacial.py
也是一个名为
notapacial
的类

当我尝试使用语法
form clases.notapacial import*

我已经尝试在包中放入一个
\uuuu init\uuuu.py
文件

错误消息是:

发生异常:ModuleNotFoundError没有名为“clases”的模块
文件“C:\Users\Usuario\OneDrive\Ingenieria\Semestre 3\Parcial 1\Modelamiento de software\Tareas\PySAcademico\prueba\prueba.py“,行 1,在 从clases.moduleNoTaparcial导入符号文件“C:\Users\Usuario\AppData\Local\Programs\Python\Python37\Lib\runpy.py”, 第85行,输入运行代码 exec(代码,运行\u globals)文件“C:\Users\Usuario\AppData\Local\Programs\Python\Python37\Lib\runpy.py”, 第96行,输入运行模块代码 mod_name、mod_spec、pkg_name、script_name)文件“C:\Users\Usuario\AppData\Local\Programs\Python\Python37\Lib\runpy.py”, 第263行,运行路径中 pkg_name=pkg_name,script_name=fname)

我试着从位于包的高级路径中的文件调用该类,它成功了。
我已尝试使用Visual Studio 2017社区重复此过程,在该IDE中,它可以正常工作,而问题不会出现。

我认为您只需要从导入语句中删除
类。

就这样,

from NotaParcial import *

首先,有一个关于资本化的指南

我建议使用样式指南。这使得编写奇怪的代码变得更加容易

回到你的课堂上。编写模块有多种方法,我想给你们两个不同的例子。其中之一是编写一个类似模块的类,它基本上是一个文件夹。该文件夹中的所有内容都属于该类。这将使所有内容保持在一起,并根据您的文件结构进行组织

想象一下具有以下文件结构

  • someclass[文件夹]
    • __init__.py[文件]
  • run.py[文件夹]
请注意,
someclass
不包含任何对
run.py
文件中的导入非常重要的大写字母。稍后再谈。您可能想知道_uinit__uuuy.py中有什么

class NotaParcial(object):
    ... 
注意:类名总是以大写字母开头。编码时,它提醒您正在使用类对象

为了在
run.py
中导入
notapacial
类,我们只需执行以下操作:

from someclass import NotaParcial
from
关键字后面的
someclass
表示要从中导入的文件夹。
notapacial
类是可在
\uuuuu init\uuuuuuuuuuuy.py
中找到的类。
\uuuu init\uuuuu.py
将文件夹初始化为一个模块

如果您创建了一个包,那么在使用setuptools时,这种方法非常有效

现在,让我们设想一下您的情况,我们想从一个名为
\uuu init\uuuu.py
的文件中导入一个类<代码>\uuuu init\uuuu.py仍然是必需的,更多信息

  • someclass[文件夹]
    • __init__.py[文件][空]
    • super_duper_scraper.py[文件]
  • run.py[文件夹]
\uuuu init\uuuu.py
是空的,这对我们来说已经足够了,我们的示例类移动到了
super\u duper\u scraper.py
。为了从前面的示例中导入相同的类,必须按如下方式导入:

from someclass.super_duper_scraper import NotaParcial

理解这一点后,您应该能够解决您的异常:
异常已发生:ModuleNotFoundError没有名为'clases'的模块。

仍然无法工作:c,如果你能给我另一个想法,我将不胜感激。如果你需要更多的信息,请向我咨询。重要的是要知道,如果我尝试从python运行该文件,空闲也不会起作用