gpt4 book ai didi

Python 相对路径 - ModuleNotFoundError

转载 作者:行者123 更新时间:2023-11-28 17:03:52 27 4
gpt4 key购买 nike

我需要 pickle 我已经实例化的 python 类,因此需要使用相对路径。我正在使用 Python 版本 3.6.6。以下是项目结构和代码的示例:

modelling/
test.py
mod1/
__init__.py
classic_mod.py

初始化.py

from .classic_mod import classic

经典模组.py

class classic:

def __init__(self, input_string):
self.input_string = input_string
print(self.input_string)

def log_info(self):
print(self.input_string)

测试.py

from .mod1 import classic_mod
from sklearn.externals import joblib

model = classic_mod.classic("Hello World!")
joblib.dump(model, "model.pkl")

如果我使用绝对路径,当我将 pickle 文件加载到另一个文件夹中的 python 时,我会遇到问题。当我运行 test.py 时,我收到一条错误消息:

Traceback (most recent call last):
File "test.py", line 2, in <module>
from .mod1 import classic_mod
ModuleNotFoundError: No module named '__main__.mod1'; '__main__' is not a package

我怎样才能解决这个导入错误,同时 pickle 类以便我可以在其他地方使用?

最佳答案

您需要将您的代码封装在一个包中,以便使用相对导入。设置一个setup script并使用 pip -e install 标志将其安装为开发模块。 This对您所面临的问题进行了非常深入的解释。

关于Python 相对路径 - ModuleNotFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52554853/

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