问题
原因
- allure文件命名与第三方库冲突
- 自建的module包所在路径不在PYTHONPATH下
解决方案
比如:
你的项目下叫做learn_python, 下面是你的项目根目录下的文件结构。
├──README.md
├──__init__.py
├──conf
│ ├── __init__.py
│ ├── offline_conf.py # 本地运行配置文件
│ └── online_conf.py # 线上运行配置文件
└──server # 启动服务文件夹
├── __init__.py
└── launch.py
在运行launch.py时报警conf这个module找不到,这个时候就应该通过sys.append()命令把conf所在文件夹的路径(注意是conf所在文件夹的路径,不是conf的路径),也就是 learn_python的根路径添加到PYTHONPATH中,下面是实现方案的代码。
import sys
import logging
import os
# 把当前文件所在文件夹的父文件夹路径加入到PYTHONPATH
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from conf.online_conf import *
os.path.abspath(file )获取到的是launch.py的绝对路径;os.path.dirname(os.path.abspath(file ))获取到的是launch.py所在文件夹的也就是server的根路径
os.path.dirname(os.path.dirname(os.path.abspath(file )))获取到的是server所在文件夹也就是learn_python的根路径。