python运行同级目录下的文件 找不到package 显示 No module named ‘xxx‘

  • Post author:
  • Post category:python




问题描述

python运行同级目录下的文件 找不到package 显示 No module named ‘xxx’

如:

Traceback (most recent call last):
  File "E:\zhuomian\project\python\mxshop_srv\user_srv\server.py", line 10, in <module>
    from user_srv.handler.user import UserServicer
ModuleNotFoundError: No module named 'user_srv'

在文件直接右键运行没有问题 到终端运行就报错




原因分析:

在import包的时候 直接用终端运行的话 这个项目的根目录是没有配置的

所以它就找不到你的路径在哪 它就回去标准的库里面去找




解决方案:

把我们的项目目录 放到系统python可以import的目录之下

如填写绝对路径:

import sys
sys.path.insert(0,"E:/zhuomian/project/python/mxshop_srv") #项目目录

相对路径:

import os
import sys
DASE_DIR=os.path.dirname(os.path.abspath(os.path.dirname(__file__)))
sys.path.insert(0,DASE_DIR)



版权声明:本文为the_shy_faker原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。