我目前正在构建一个具有如下体系结构的自定义模块:
module/
│
├── util/
│ ├── metrics.py
│ └── util.py
│
└── training/
├── pretraining.py
└── training_step.py在我的pretraining.py脚本中,我需要使用位于util.py中的函数。我不知道如何在pretraining.py中导入它
到目前为止,我尝试了经典:
from util.metrics import accuracy我得到以下错误:
Traceback (most recent call last):
File "pretraining.py", line 5, in <module>
from util.metrics import accuracy
ModuleNotFoundError: No module named 'util'如何在pretraining.py中导入函数?
发布于 2021-06-10 10:34:40
如PCM所示,您必须在每个文件夹中创建一个空的__init__.py文件:
module/
├── __init__.py
│
├── util/
│ ├──__init__.py
│ ├── metrics.py
│ └── util.py
│
└── training/
├──__init__.py
├── pretraining.py
└── training_step.py因此,如果在您的pretraining.py脚本中需要使用位于util/emeics.py中的函数:
from module.util.metrics import accuracy一些参考资料:
https://docs.python.org/3/tutorial/modules.html#packages
https://python4astronomers.github.io/installation/packages.html
发布于 2021-06-10 10:21:33
显然,您正在尝试从另一个文件夹导入。为此,你需要把它做成一个包裹。
您需要在模块文件夹和子文件夹中保存一个空的__init__.py文件。__init__.py将使它成为一个包,因此您可以使用from util.metrics import accuracy导入它。
https://stackoverflow.com/questions/67918958
复制相似问题