提示:以下是本篇文章正文内容,下面案例可供参考
我将要执行这个test_case.py,要导入不根目录下的目录config下的yamload.yp模块时(这些是自己定义写的函数、模块),在Pycharm是可以正常执行的,但在cmd命令却报错。ModuleNotFoundError: No module named 'config’错误
一、Pycharm可以执行,而cmd报错?
原来是因为cmd遍历的文件方式与Pycharm的不一样。
二、解决办法
1.将要执行的模块或者.py文件加入环境变量中
代码如下(示例):
import sys
sys.path.append("D:/Code/python_code/学习/项目/接口测试_Pytest框架/POM设计模型/test01")
sys.path.append(“你要导入的模块的路径”")
那CMD从哪里开始遍历呢?CMD从当前所在位置开始遍历,当前路径如下: D:\Code\python_code\学习\项目\接口测试_Pytest框架\POM设计模型\test01\test_case 遍历test_caset文件夹并没有找到config这个文件夹,…那当然就找不到我们需要的模块了。 那咋办呢?既然需要找到config文件夹,那我们把这个文件夹加入遍历中不就行了吗? 使用sys.path.append()就可以加入了,需要传入绝对路径.我们可以如下添加: import sys sys.path.append(“D:/Code/python_code/学习/项目/接口测试_Pytest框架/POM设计模型/test01”)
2.注意
代码如下(示例): 一定要在未import config中的模块之前,先将sys.path.append(“要导入的文件路径”)加入环境变量中,不然也会报错。 如下图,是原来未加入sys.path.append()
from config.yamlload import loadyaml
3.加入sys.path.addpend()后
加入sys.path.append()之后,如下图位置
4.然后再运行,就可以成功!!!
|