父模块“”未加载,无法执行相对imp

2024-04-28 20:04:32 发布

您现在位置:Python中文网/ 问答频道 /正文

这是项目结构。在

--KP
   --app
       --api
           --views
                --mpg.py
                --gtt.py

在英里/加仑/年公司名称:

^{pr2}$

在gtt.py公司公司名称:

from .mpg import cmcid

def main():
    variable = cmcid()
if __name__ == "__main__":
    main()

当我从views目录运行时,即kp/app/api/views$pythongtt.py公司在

我得到一个错误:

父模块“”未加载,无法执行相对导入

感谢任何帮助。谢谢。。在


Tags: 项目frompy名称apiappmain公司
1条回答
网友
1楼 · 发布于 2024-04-28 20:04:32

您可能会丢失views目录中的__init__.py文件(它可能只是一个空文件)。在

添加这个文件,它将把你的目录转换成一个python包,导入应该可以工作了

请注意,在父目录中它也是必需的。在


另一个可能的原因是您在文件中使用了Django“机器”,因此可能无法直接作为python文件运行。在

如果您需要编写与django应用程序交互的python脚本,则需要创建一个将使用python manage.py got执行的django命令

您的gtt.py文件需要位于django应用程序的management\commands子模块中。在

它必须具有以下结构

from django.core.management.base import BaseCommand
from path.to.mpg import cmcid

class Command(BaseCommand):
    help = 'Your custom command'

    def handle(self, *args, **options):
        variable = cmcid()

有关命令的更多详细信息,请参见Django doc https://docs.djangoproject.com/en/2.0/howto/custom-management-commands/

相关问题 更多 >