gpt4 book ai didi

python - 代码在 Python 3 中给出 "ImportError: No module named ' 文件 2'",但在 Python 2.7 中完美运行

转载 作者:太空宇宙 更新时间:2023-11-04 09:25:29 24 4
gpt4 key购买 nike

我在 Python 2.7 中创建了一个 flask 应用程序。项目结构是这样的:

Flask_Directory/
app.py
sub_dir/
file1.py
file2.py
__init__.py

app.py 像这样导入 file1:

from sub_dir import file1

file1.py 像这样导入 file2.py:

from file2 import *

当我运行 app.py 时,代码在 Python 2.7 中运行良好,但在 Python 3 中,相同的结构给出了一个file1.py 中的错误:

ImportError: No module named 'file2'

谁能帮忙,我缺少什么?

最佳答案

from file2 import *

你所做的叫做Implicit Relative Import .


Implicit Relative Imports已在 Python 3 中弃用.

为什么?

  • 其中一个原因是,如果存在同名的 Python 包/模块,则可能会导入(错误的)。

你有两个选择:

  1. from sub_dir.file2 import * (这称为 Absolute Import 。)
  2. from .file2 import * (这称为 Explicit Relative Import 。)

此外,您可能还想阅读:Absolute vs Relative Imports in PythonPEP 8 imports .


注意:使用 import *气馁。

关于python - 代码在 Python 3 中给出 "ImportError: No module named ' 文件 2'",但在 Python 2.7 中完美运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57900751/

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