gpt4 book ai didi

Python 3 导入与内部 "parser"冲突

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:33 26 4
gpt4 key购买 nike

.
├── gen.py
├── lexer
│   ├── engine.py
| └── ...
└── parser
├── engine.py
└── ...

我正在编写我的编译器项目,但现在我遇到了 python 导入冲突。在 gen.py 中,我想导入一些用于代码生成的函数,比如

import lexer.engine   # OK
import parser.engine # ModuleNotFoundError: No module named 'parser.engine'; 'parser' is not a package

经过一些调查,我了解到“parser”是为 python 内部解析器保留的。但我无法更改目录名称“parser”,因为它已在各处使用。

我该如何解决这个问题?

最佳答案

要被接受为 Python 包,目录必须有一个 __init__.py 文件。
可以访问此文件中声明的变量,就好像包是一个常规模块一样。它也可以是空的。

tl;dr:将一个空的 __init__.py 文件添加到目录,它应该可以工作。

关于Python 3 导入与内部 "parser"冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50795252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com