导入文件时出错:ModuleNotFoundError: 找不到名为的模块。

4

我知道有很多类似于我现在提出的问题,但是我已经尝试过它们的大部分答案,并且它们都没有解决我的问题。我有一个名为fileA.py的文件,我需要调用和导入fileB.py。到目前为止,我一直在这样做:

# in fileA.py
import fileB.py

它以前是好的,但现在不行了。它给了我这个错误:

ModuleNotFoundError: No module named 'fileB'

它们位于同一级别的相同文件夹中。 我尝试了所有这些解决方案:
import folder.fileB
from . import fileB
import fileB.py

仍然出现相同的错误。我该怎么解决?


1
听起来 sys.path 可能已经改变了。确保两个模块的父目录在 sys.path 中,并再试一次。如果还不行,请更新问题并提供目录结构和 sys.path 的输出。 - S3DEV
1
当你导入fileB时,只需执行import fileB。除此之外,你需要将所有脚本放在同一个目录下,并在该目录中添加__init__.py文件。如果这些方法都不适用于你,可以尝试使用链接中提供的runpy方法:[https://docs.python.org/3/library/runpy.html] - liamsuma
3个回答

4

最好使用绝对导入。假设您有一个名为 folder 的文件夹,其中包含您的模块,请从根目录开始导入它:

from folder import fileB

如果folder不是代码的根目录,则从源代码根目录开始:

from root_source_folder.some_package.folder import fileB

1

确保在执行代码时,终端的当前工作目录fileA.py的相同。


1
尝试
import fileB

或者

from fileB import *

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接