參考了這個解決辦法: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的虛擬環境目錄的名稱