如何从父包的文件中访问子包的文件?

问题描述 投票:0回答:1
E:.
└───Fruit
  ├───Apple
  │  ├───KashmiriApple.py
  │  └───__init__.py
  ├───Orange
  │  ├───ChennaiOrange.py
  │  └───__init__.py
  ├───main.py
  └───__init__.py

所有init.py的内容都是空的。

KashmiriApple.py 的内容是:

def say_hi_apple():
    print("Kashmiri Apple says Hi!")

ChennaiOrange.py 的内容是:

def say_hi_orange():
    print("Chennai Orange says Hi!")

main.py的内容是:

import Fruit.Orange.ChennaiOrange as CO

CO.say_hi_orange()

执行 main.py 的代码给出 ModuleNotFoundError: No module named 'Fruit'

我不想使用sys包来更新包的位置。

现在如何将子包的文件导入到我的 main.py 文件中?

我在 VS Code 中执行此操作,导致错误。但在PyCharm中运行不会报错,运行成功。

为什么会发生这种情况以及如何解决?

我在 VS Code 中执行此操作,导致错误。但在PyCharm中运行不会报错,运行成功。

python import module package
1个回答
0
投票

您的 main.py 与 Fruit 处于同一级别。

试试这个:

从 Orange 进口 ChennaiOrange 作为 CO

© www.soinside.com 2019 - 2023. All rights reserved.