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


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

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

