解決:python命令行運行出錯 ImportError: No module named ...


一. 發現問題

今天在cmd命令行運行一個py文件,本來在pycharm中運行好好的文件,在命令行卻報錯了,直接提示我:ImportError: No module named 'homeworks'

二. 什么原因

這是因為pycharm中,不光會導入環境變量中sys.path發現的模塊,還會導入當前工作目錄下的模塊。在pycharm中,當前工作目錄就是項目目錄,能順利調用相同項目中的模塊。但通過命令行啟動時,當前工作目錄有可能不是項目目錄,那么項目中的模塊就不會被找到,因此運行時會報錯:ImportError: No module named ...

如上圖所示,pycharm中,homeworks所在的目錄路徑D:\python_workshop\python6就是工作目錄,所以會導入當前工作目錄下的模塊

三. 如何解決

方法一:

新建環境變量PYTHONPATH,將模塊路徑放到環境變量中作為全局變量(推薦使用)

由於我的homeworks包所在目錄的路徑為:D:\python_workshop\python6

 

方法二:

在代碼中使用sys.path.append方法將homeworks所在目錄加入到搜素目錄中,切記,這段代碼必須放在from ... import ...前面

 

 

注意:

選擇上面兩種方法任意一種都可以,如果修改完代碼或者配置完環境變量后,命令行還是報錯,這時請退出cmd,重新進入,然后就可以順利的運行了

 

 

參考文章

https://blog.csdn.net/qq_35304570/article/details/78151545

https://blog.csdn.net/hello__Jerry/article/details/79586034

 


免責聲明!

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



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