我的是Windows,linux的和Windows的解决办法有些不一样,但也是大同小异,需要改一下环境变量
这是我的文件目录 TestCase是执行测试用例的
在terminal中运行pytest报错
如果是pycharm的错误或者是导入的错误,不可能一个能运行成功一个运行错误。所以我猜是pycharm的IDE的运行机制和terminal的运行机制不一样才导致这种情况
参考资料所得:https://blog.csdn.net/qq_36829091/article/details/82180866
Python在启动解释器(Interpreter)时不仅会导入环境变量中sys.path发现的模块,还会导入当前工作目录下的模块。
具体什么事sys.path和当前工作模块,可参考上面的链接。
通过在文件头加上输出环境变量,然后再terminal中运行pytest。运行结果的第一个路径就是当前路径
解决办法:
第一种方法:是在环境变量中加入当前模块路径。(我是通过这一步解决问题的)
打开Pycharm里面的settings按钮,进入设置页面,再点Build, Execution, Doployment选项,进入如下界面:
注意红色圈中的这部分内容,会给我们一点启发:
其中WORKING_DIR_AND_PYTHON_PATHS指的就是我们的Python projects的位置。有了上面那段话后,点击pycharm控制台的Python console选项卡就可以看到:
进入windows的环境变量界面,进入PYTHONPATH进行编辑,如果没有就新建一个,变量值是你的python项目的位置,如有多个位置,可以在后面追加,添加之后重启一下就好了
第二种方法:以下两个命令其中一个就可,都表示我的当前工作目录。
这样就OK了,成功运行
如何知道自己的当前工作目录呢,就是你pycharm的虚拟环境目录的名称