python終端命令執(zhí)行提示找不到自定義模塊問題及解決
描述一下遇到的問題
平常在用pyhton做開發(fā)寫代碼的時(shí)候,我們大多數(shù)都是直接是編輯器中操作的(pycharm、eclipse、sublime等),其中免不了各個(gè)模塊之間的一些導(dǎo)入方法調(diào)用,以下是我的目錄結(jié)構(gòu):


在編輯器中我們導(dǎo)入后引用是沒問題的可以正常運(yùn)行,但是當(dāng)我們直接在終端執(zhí)行py腳本的時(shí)候就會(huì)報(bào)出
“from readexcel import ReadExcelE ModuleNotFoundError: No module named ‘readexcel’”
之類找不到模塊的錯(cuò)誤。

這個(gè)導(dǎo)入的是我們的本地的文件,報(bào)的錯(cuò)其實(shí)就是終端找不到我們本地的導(dǎo)入的這個(gè)文件。
因?yàn)榫庉嬈鬟\(yùn)行的時(shí)候,都會(huì)檢索我們的整個(gè)工程目錄,把一些目錄都添加到sys.path中,自然運(yùn)行起來的時(shí)候,都能夠找到對(duì)應(yīng)的模塊py文件。
而我們在終端執(zhí)行某個(gè)文件的時(shí)候都是直接運(yùn)行指定文件的,缺少需要檢索的路徑,所以終端無法找到我們要導(dǎo)入的文件。
第一種方法
通過 os庫方法獲取我們當(dāng)前文件的根目錄,然后用 sys.path.append()進(jìn)行添加
#調(diào)用os,sys模塊 import os import sys BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath或者os.path.dirname(__file__))) sys.path.append(BASE_DIR) from 模塊路徑.模塊文件 import 類1, 類2, 類3 # xxxx你的代碼
第二種方法
直接使用 sys.path.append() 方法添加絕對(duì)路徑
#在要執(zhí)行的文件中添加此路徑
sys.path.append("/xxxxxx/pyhton_pytest_Demo/Demo_API_1/lib/")
注意:這兩種方法要添加在導(dǎo)庫之前,不然依然會(huì)無效找不到
網(wǎng)上很多查到的此類的添加的是當(dāng)前文件的路徑,而我們要添加的是所要導(dǎo)入文件的路徑,并沒有很清晰的闡述,所以一定要注意
經(jīng)實(shí)測,添加后均可執(zhí)行成功
小伙伴們在遇到此類問題的時(shí)候可以試試,需要多關(guān)注一下添加的是文件目錄還是直接精確到文件名
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)監(jiān)控某個(gè)服務(wù) 服務(wù)崩潰即發(fā)送郵件報(bào)告
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)監(jiān)控某個(gè)服務(wù),服務(wù)崩潰發(fā)送郵件報(bào)告,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
關(guān)于python之字典的嵌套,遞歸調(diào)用方法
今天小編就為大家分享一篇關(guān)于python之字典的嵌套,遞歸調(diào)用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01
python統(tǒng)計(jì)字符串中指定字符出現(xiàn)次數(shù)的方法
這篇文章主要介紹了python統(tǒng)計(jì)字符串中指定字符出現(xiàn)次數(shù)的方法,涉及Python中count函數(shù)的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
PyCharm鼠標(biāo)右鍵不顯示Run unittest的解決方法
今天小編就為大家分享一篇PyCharm鼠標(biāo)右鍵不顯示Run unittest的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11

