本地文件的Python ModuleNotFoundError

2024-04-26 12:00:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在正在学习Python,我被这个导入问题困住了

在一个文件夹中,我有一个main.py和一个包含两个脚本的第二个文件夹main.py导入apple.pyapple.py导入banana.py。问题是,当我运行'main.py'时,我得到一个ModuleNotFoundError,因为Python说没有名为banana的模块。我不确定这是导入问题还是我下载的python实现(CPython3.8)有问题

project/
  L main.py
  L folder/
     L apple.py
     L banana.py

在main.py中:

import folder.apple as app

在apple.py中:

import banana as ban

Tags: 模块pyimportproject脚本文件夹appapple
2条回答

您需要将文件夹转换为软件包。要初始化包,您需要添加一个名为__init__.py的空文件。你可以阅读更多关于它的内容

通过此更改,您的目录结构应该如下所示

project/
   __init__.py
   main.py
   folder/
      __init__.py
      apple.py
      banana.py

或者,我认为另一个“hackey”解决方案是在导入香蕉之前在apple.py中添加以下行:

import sys
import os
sys.path.append(os.path.abspath("folder")) # or whatever the name of the immediate parent folder is

我试过了,它对我有效。希望这对你有帮助

相关问题 更多 >