参考了这个解决办法: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的虚拟环境目录的名称