在同一目录中导入模块时为何使用ModuleNotFound?

埃菲尔熊

当我尝试使用以下命令在linux bash上激活main.py时,

python3 main.py

如下所示的错误消息不断出现,我不知道为什么!

File "main.py", line 1, in <module>
    import folder_beta.util_one
File "folder_beta/util_one.py", line 1, in <module>
    ModuleNotFoundError: No module named 'util_two'

问题更详细

文件夹树如下所示:

folder_alpha
├── main.py
└── folder_beta
      ├── __init__.py (empty)
      ├── util_one.py
      └── util_two.py

main.py

import folder_beta.util_one
import folder_beta.util_two
....

util_one.py

import util_two
...

当我单独执行'util_one.py'时,它工作得很好,但是当我执行main.py时,错误不断出现。

有人可以告诉我如何解决此问题吗?

威姆

那是一个隐式的相对导入,它在Python 2中可以使用,但是在Python 3中不再允许。从PEP 8

绝对不要使用隐式相对导入,并且在Python 3中已将其删除。

util_one.py模块中,将其更改为:

from folder_beta import util_two

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python 3-在同一目录中导入.py文件-ModuleNotFoundError:没有名为“ __main __。char”的模块;'__main__'不是一个包

使用pytest时在同一包中导入的ModuleNotFoundError

如何在同一目录中导入其他脚本?

如何从同一目录导入python类文件?

如何在同一目录或子目录中导入类?

从同一目录导入__init__.py和模块时,python 2.7和3.3+之间的区别

python3-在同一目录中导入文件

如何使用Cargo / Rust在模块中包含来自同一目录的文件?

在同一目录中需要模块

从同一目录导入Reactjs

从同一目录中的所有模块导入并调用相同的功能

如何从同一目录中的模块导入?

从同一目录中的模块导入模块时,为什么必须在模块前加点?

即使与我正在使用的文件位于同一目录中,也无法导入模块

从VSCode中的同一目录导入文件

Python:在同一目录中调用模块

如何在电子JS文件中导入另一个JS文件(位于同一目录中)

js文件位于同一目录中时找不到模块错误

朱莉娅:从同一目录中的包中导入内容

无法在同一目录中导入.sage文件

如何从文件夹中的python文件和同一目录中的文件中导入文件?

ImportError与模块在同一目录中

无法导入同一目录下的其他文件

在同一目录中使用模块。“调用未定义的子程序”

如何从python中的同一目录导入文件?

如何从同一目录中导入整个模块

无法从同一目录导入文件

GO:无法从同一目录中的文件导入函数

无法从同一目录中的文件导入函数