这是项目结构。
--KP
--app
--api
--views
--mpg.py
--gtt.py
mpg.py:
def cmcid():
.....
.....
gtt.py:
from .mpg import cmcid
def main():
variable = cmcid()
if __name__ == "__main__":
main()
当我从views目录运行时,即kp / app / api / views $ python gtt.py
我收到错误:
父模块''未加载,无法执行相对导入
感谢任何帮助。感谢..
答案 0 :(得分:0)
您的视图目录中可能遗漏了__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/