問題描述:
編譯器無法使用cmd命令來執行py檔案,結果可能報ModuleNotFoundError的錯誤,
比如在cmd任務欄執行:python E:\myProgram\Python\spider\NetDealer\core\others\audi.py,專案NetDealer 包core 檔案名audi.py 的匯入陳述句“from conf.settings import PY_SQL”無法匯入其中的包core:
Traceback (most recent call last):
File "E:\myProgram\Python\spider\NetDealer\core\others\audi.py", line 8, in <module>
from conf.settings import PY_SQL
ModuleNotFoundError: No module named 'conf'
解決辦法:
原因分析:因為pycharm默認使用決議器,會匯入該專案的所有包,而cmd命令找不到該專案,這個時候在py檔案頭部加入 sys.path.append("專案路徑") 即可,
import os
from future.moves import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
然后完美解決,
另外,一些常用的路徑匯入有如下這些:
os.path.dirname(__file__) # 獲取當前檔案的絕對路徑 os.path.dirname("path") # 獲取當前檔案的上級檔案路徑 sys.path.append() # 路徑加入變數 os.path.abspath(".") # 當前執行檔案的位置 os.path.abspath("../") # 當前執行檔案的上級位置 os.getcwd() # 獲取當前執行檔案的路徑 os.path.dirname(os.path) os.path # 當前模塊的路徑 sys.path[0] # 當前檔案的絕對路徑 sys.path.append() # 初始化路徑
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/545182.html
標籤:其他
