我正在开发一个Django项目,并试图运行一个测试文件,但在导入过程中发生了错误。我的文件夹层次结构如图所示:


请参阅core.py内部的函数process_data的图像

我在test目录中尝试运行我的测试文件。
我的导入类似于代码:
from coordenadas.core import process_data但是,当我运行我的代码时,显示了一个错误:
Traceback (most recent call last):
File "tests_class_moviment.py", line 1, in <module>
from coordenadas.core import process_data
ModuleNotFoundError: No module named 'coordenadas'我尝试使用相对导入
from .coordenadas.core import process_data
from .core import process_data
from ..coordenadas.core import process_data
from ..core import process_data但是,在pycharm中不显示错误的唯一方法是
from coordenadas.core import process_data我该怎么解决这个问题呢?
发布于 2020-12-21 04:15:32
在部分不相关的注释中,绝对导入肯定比相对导入更推荐。PEP8:
对于包内导入,强烈建议使用
相对导入。对于所有导入,始终使用绝对包路径。即使现在PEP328 7已经在Python2.5中完全实现了,它的显式相对导入的风格也是非常不被鼓励的;绝对导入更具可移植性,而且通常更具可读性。
至于模块错误本身,将一个__init__.py文件添加到"coordenadas“目录将把它变成一个模块,这正是您所需要的。
https://stackoverflow.com/questions/65384021
复制相似问题