我正在用Python编写汇编程序,并且由于我非常喜欢它的简单性,因此我尝试切换到VS代码进行开发任务。在花了一个下午试图弄清楚导入语句为什么会出错的原因之后,我尝试在PyCharm中打开相同的项目,然后一切顺利。 我的项目结构:
/assembler
/src
__init__.py
code.py
main.py
parser.py
symbol_table.py
因此,我最终在Python 3.6文档上浪费了很多时间来弄清楚我在做什么错,然后在发现代码正常之后,我什么都找不到,无法确定配置中的什么导致了问题,甚至在VSCode上也不存在问题。 这是我简单的main()函数,应将同一类的其他模块中的类导入。
from src.parser import Parser
from src.code import Code
from src.symbol_table import SymbolTable
def main():
parser = Parser()
code = Code()
symbol_table = SymbolTable()
parser.has_more_commands()
main()
它应该只在屏幕上打印一些内容以确认导入正常,相反,我收到此错误:
回溯(最近通话最近): 文件“ c:/Users/miche/Desktop/NAND2TETRIS/projects/06/assembler/src/main.py”,第1行,在 从src.parser导入解析器 ModuleNotFoundError:没有名为“ src”的模块
有人对我的VSCode有同样的问题,可以告诉我我的配置或语句出了什么问题吗?
答案 0 :(得分:0)
我不完全知道Windows VS Code中的问题,但相对路径可能错误。我在macOS上也遇到了类似的问题。
在/assembler/src/__init__.py中尝试:
from .parser import Parser
from .code import Code
from .symbol_table import SymbolTable
,然后在您的main.py中尝试:
from .src import Parser, Code, SymbolTable