如何使用Visual Studio代码修复python中的ModuleNotFoundError
我正在开发一个基本的学生学位管理器,用于学习Python,我还在VS代码和Python 3.7.3环境中编写代码 我已经创建了一个名为如何使用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
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运行该文件,空闲也不会起作用