解決python在cmd運行時導入包失敗,出現錯誤信息 "ModuleNotFoundError: No module named ***"


1.下圖為我的自動化測試工程結構圖

 

 我通過運行run.bat批處理文件,調用cmd控制台運行start_run.py來開始我的自動化測試,但是出現如下錯誤:

大家可能知道我們的工程在IDE(Pycharm)中運行和我們在cmd中運行的路徑是不一樣的,在pycharm中運行時,

會默認pycharm的目錄+我們的工程所在目錄為運行目錄,而在cmd中運行時,會以我們的工程目錄所在目錄來運行

而在import包時,會首先從pythonPATH的環境變量中來查看包,如果沒有你的PYTHONPATH中所包含的目錄沒有

工程目錄的根目錄,那么你在導入不是同一個目錄下的其他工程中的包時會出現import錯誤

解決方法:在你運行的文件中將你的工程目錄加入到PYTHONPATH中,具體方法如下:

 import os,sys

sys.path.append("path")  //path為你的工程根目錄的絕對路徑

 

如果此時你運行時依然報錯,請先檢查是否將根目錄加入到了PYTHONPATH中,方法為:

import os

PATH = os.environ

for key in PATH:

  print(key,PATH[key])

如果目錄中包含你所在的工程根目錄,此時你再查看一下你的所有的目錄下是否包含__init__文件,

當我們導入另外一個包下的模塊時,首先需要判斷這個包是否為python包,而__init__文件就是

用來證明這個目錄是一個python包的目錄!

 

而我在按照網上的一些操作完成后,發現我依然運行失敗,此時我發現我的根目錄下也有一個__init__文件

而我刪除了該文件之后,運行一切正常,我也不知道具體的原因,感覺有點奇怪!


免責聲明!

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



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