如何在 Pycharm 项目中正确导入模块?



我在最新项目中导入某些模块时遇到一些问题。我对Pycharm和Python真的很陌生,我真的可以使用帮助/见解。

问题是我有一个要使用的实用程序文件夹,但我似乎无法正确导入模块。这是我的目录大致的样子:

myproject
utils
utilities
myclass.py
__init__.py
anothermodule
__init__.py
src
helper_func.py
__init__.py
venv
...
main.py
...

我希望能够通过以下方式使用我的类和函数:

object = utilities.myclass.myclass( . . . )
thing =  utilities.anothermodule.src.helper_func.helper_func ( . . .)

我以为要走的路就是:

from utils import utilities

但是尝试如前所述创建"对象"会给我这个错误(myclass.py 包含一个名为"myclass"的类):

AttributeError: module 'utils.utilities' has no attribute 'myclass'

我已经在 Pycharm 中标记了实用程序、实用程序、另一个模块、src 作为源根。我做错了什么?我还已经将文件夹"utils"的路径添加到系统路径中。

在您的utilities/__init__.py文件中添加以下内容。

from . import myclass
from . import anothermodule

anothermodule应该导入srcsrc应该导入helper_func等等。

导入实用程序时,Python 会以utilities的名义导入__init__文件,这是因为文件夹是作为包导入的。

另一种选择是执行以下操作,但您必须修改语法。

from utils.utilities import myclass
myclass.myclass()
# or
import utils.utilities.my_class
utils.utilities.myclass.myclass()

您可以在 Python 包文档中找到有关此内容的更多信息

最新更新