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

來源:互聯網
上載者:User

標籤:main   style   ESS   運行時   blank   TE   cas   sso   ...   

一. 發現問題

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

二. 什麼原因

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

三. 如何解決方法一:

建立環境變數PYTHONPATH,將模組路徑放到環境變數中作為全域變數(推薦使用)

由於我的main.py檔案所在的路徑為:D:\python_workshop\python6\homeworks\xiaozhai_lesson17_homework\TestCases

 

 

 

方法二:

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

注意:

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

 

 

參考文章

78151545

79586034

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.