首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入不能在python中运行

导入不能在python中运行
EN

Stack Overflow用户
提问于 2020-12-21 03:35:55
回答 1查看 70关注 0票数 0

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

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

我在test目录中尝试运行我的测试文件。

我的导入类似于代码:

代码语言:javascript
复制
from coordenadas.core import process_data

但是,当我运行我的代码时,显示了一个错误:

代码语言:javascript
复制
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'

我尝试使用相对导入

代码语言:javascript
复制
from .coordenadas.core import process_data
from .core import process_data
from ..coordenadas.core import process_data
from ..core import process_data

但是,在pycharm中不显示错误的唯一方法是

代码语言:javascript
复制
from coordenadas.core import process_data

我该怎么解决这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2020-12-21 04:15:32

在部分不相关的注释中,绝对导入肯定比相对导入更推荐。PEP8:

对于包内导入,强烈建议使用

相对导入。对于所有导入,始终使用绝对包路径。即使现在PEP328 7已经在Python2.5中完全实现了,它的显式相对导入的风格也是非常不被鼓励的;绝对导入更具可移植性,而且通常更具可读性。

至于模块错误本身,将一个__init__.py文件添加到"coordenadas“目录将把它变成一个模块,这正是您所需要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65384021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档