python程序在命令行執行提示ModuleNotFoundError: No module named 'XXX' 解決方法


在ide中執行python程序,都已經在默認的項目路徑中,所以直接執行是沒有問題的。但是在cmd中執行程序,所在路徑是python的搜索路徑,如果涉及到import引用就會報類似ImportError: No module named xxx這樣的錯誤,解決方法:

在報錯的模塊中添加:

import sys
import os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)

注意:一定要將這些代碼添加到文件的最頂層,不然導入模塊依然會報錯

另外在cmd中執行python程序時注意python版本,如果裝了兩個版本的話,切換版本:

在環境變量中path中修改python版本

-----------------再次補充

先看報錯是哪個模塊,然后將換個模塊的路徑添加到sys,注意例如我有這樣一個路徑報錯

/usr/local/bin/python3.6 /Users/louchengwang/PycharmProjects/Sanjieke/src/utils/config.py

報錯是

No module named 'src'

那么首先確定去執行的文件中config.py添加src模塊的路徑

然后rootpath要確定最終應該append的應該是/Users/louchengwang/PycharmProjects/Sanjieke,而不是到src,這里要注意應該是

curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(os.path.split(rootPath)[0])

一定要注意自己的目錄結構,如果不成功就打印append的path,確定好


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM