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

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

 

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

 

这是个人文件目录spa

 

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

在terminal中运行pytest报错code

 

 

 

 

 若是是pycharm的错误或者是导入的错误,不可能一个能运行成功一个运行错误。因此我猜是pycharm的IDE的运行机制和terminal的运行机制不同才致使这种状况blog

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

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

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

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

 

 

解决办法:

第一种方法:是在环境变量中加入当前模块路径。(但因为我不喜欢在环境变量中加不少东西,因此就省略了这步)

第二种方法:如下两个命令其中一个就可,都表示个人当前工做目录。

 

 

 

这样就OK了

如何知道本身的当前工做目录呢,就是你pycharm的虚拟环境目录的名称

相关文章
相关标签/搜索