自定义包提示模块不存在ModuleNotFoundError: No module named 'api.utils'; 'api' is not a package

情况说明


自定义的包,文件夹内部A_floder内部包含:__init__.py文件,其他.py文件内部引用A_floder文件夹下的python文件提示

File "/home/balabala/GCFlow/A_floder/gcflow_server.py", line 21, in <module>
  from A_floder.log_utils import initLogger
ModuleNotFoundError: No module named 'A_floder.log_utils '; 'A_floder' is not a package

解决方案1:代码解决

在gcflow_server.py文件内添加以下代码,代码位置在文件最前方其他包导入前:

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

from A_floder.log_utils import initLogger

import logging
import os
import signal
...

 

解决方案2:命令行设置环境变量:

export PATH="/home/balabala/GCFlow/A_floder:$PATH"

 

目前试下来就这。。。

posted @ 2025-04-21 15:45  我得想个好名字  阅读(98)  评论(0)    收藏  举报