pytest 問題記錄

綜述:問題來源于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

.bash_profile

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

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容