Python3之運行python腳本提示 ModuleNotFoundError: No module named 'xxx'解決方法


Python項目直接在Pycharm運行成功沒有任何問題,但是命令行運行的時候總是會提示 ModuleNotFoundError: No module named 'xxx'

目錄結構:

 其中case包下的各個用例會調用common/conf/甚至data/case包下的py文件中的內容,這時候命令行運行就會出現找不到module的問題。

這是因為你的py腳本里面有引用其他模塊下的py文件,而Python在啟動解釋器(Interpreter)的時候不只會導入環境變量中sys.path發現的模塊,還會導入當前工作目錄下的模塊。當你在IDLE中啟動解釋器時,當前的工作目錄就是項目目錄,能順利調用同項目中的模塊;但是當你通過命令行啟動時,當前工作目錄為你啟動解釋器時所在的目錄(即C盤的安裝目錄),如果當時的位置不是項目目錄,那么項目目錄中的模塊就不會被找到

解決辦法:

要讓程序能正常找到相應目錄,勢必要通過外部的手段將該路徑添加進去,首先想到的就是添加環境變量,只要是環境變量中有配置對應的 path ,在命令窗口運行的程序都會到相應的 path中一一去查找,直到找到為止,可以添加到系統原生的path里面,為有利於區分,額外添加一個 PYTHONPATH 的環境變量,將其它需要手動添加的路徑全部放到該環境變量里面,添加的原則是,要導入哪個包,只要將該包的上一層路徑全部添加至環境變量中。比如我這里 config 包是在 performance這一層目錄,所以我就只將到Performance這絕對目錄添加到 PYTHONPATH環境變量即可,如下圖:(親測可用)


免責聲明!

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



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