在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,確定好