綜述:問題來源于Mac或是Linux,僅供參考
1.pytest在cmd執(zhí)行的時候報錯找不到該命令,但是已經(jīng)用sudo pip3 install -U pytest? 和? ?pip3installpytest -ihttp://pypi.douban.com/simple/--trusted-host pypi.douban.com? 安裝成功。(MAC)
解決辦法:在執(zhí)行sudo pip3 install -U pytest時會提示
Requirement already satisfied, skipping upgrade: more-itertools>=4.0.0 in /Users/sort/Library/Python/3.7/lib/python/site-packages (from pytest) (8.4.0)
進入site-packages下面,刪除與pytest相關的所有目錄文件:rm -rf ./pytest*
然后重新執(zhí)行安裝命令即可
2.在執(zhí)行pytest時,類報錯找不到文件目錄from libs.BaseTest import BaseTest? ? ?E? ModuleNotFoundError: No module named 'libs'
解決辦法:文件頭添加代碼
import sys
import os
curPath = os.path.abspath(os.path.dirname(__file__))? //獲取當前目錄絕對路徑
rootPath = os.path.split(curPath)[0]//獲取上一級目錄的絕對路徑
sys.path.append(rootPath)//將模塊路徑添加到程序中
理解:當我們導入一個模塊時:import? xxx,默認情況下python解析器會搜索當前目錄、已安裝的內置模塊和第三方模塊,搜索路徑存放在sys模塊的path中。
所以當報錯找不到某個模塊的時候,有兩種解決方式,一種如上。這種方法是運行時修改,腳本運行后就會失效的。另外一種方法是將項目路徑寫入系統(tǒng)環(huán)境變量中。
vim ~/.bash_profile

我選擇第一種方法,原因是工程經(jīng)常會被遷移部署到不同機器。參考:https://blog.csdn.net/cqbamboo/article/details/103012429