pytest——pycharm中右击运行(run)没有问题,在terminal中运行pytest报错:E ModuleNotFoundError: No module named

参考了这个解决办法:https://blog.csdn.net/qq_36829091/article/details/82180866

 

我的是Windows,linux的和Windows的解决办法有些不一样,但也是大同小异,需要改一下环境变量

 

这是我的文件目录

 

需要在test_calc.py中导入python_math_demo里的calc,在pycharm中右击运行没有任何问题。

在terminal中运行pytest报错

 

 

 

 

 如果是pycharm的错误或者是导入的错误,不可能一个能运行成功一个运行错误。所以我猜是pycharm的IDE的运行机制和terminal的运行机制不一样才导致这种情况

参考资料所得:https://blog.csdn.net/qq_36829091/article/details/82180866

Python在启动解释器(Interpreter)时不仅会导入环境变量中sys.path发现的模块,还会导入当前工作目录下的模块

具体什么事sys.path和当前工作模块,可参考上面的链接。

通过在文件头加上输出环境变量,然后再terminal中运行pytest。运行结果的第一个路径就是当前路径

 

 

解决办法:

第一种方法:是在环境变量中加入当前模块路径。(但由于我不喜欢在环境变量中加很多东西,所以就省略了这步)

第二种方法:以下两个命令其中一个就可,都表示我的当前工作目录。

 

 

 

这样就OK了

如何知道自己的当前工作目录呢,就是你pycharm的虚拟环境目录的名称

 

posted @ 2020-05-18 17:00  不知道叫啥的爱德华  阅读(1906)  评论(0编辑  收藏  举报