關於Python項目在Pycharm能運行,命令行運行則找不到模塊的原因


Python解釋器運行時會導入當前工作目錄下的模塊。當你在Pycharm中啟動解釋器時,當前的工作目錄是項目根目錄,但是當你通過命令行啟動時,當前工作目錄為你運行python文件時所在的目錄。如果當時的位置不是項目目錄,那么項目目錄中的模塊就不會被找到。

例如:

我的項目目錄如下,運行項目需要執行 excute.py 文件

 

 

 當在Pycharm上運行時,我們導入模塊需要這樣:

from main.http.xxx import xxx
from main.tcp.xxx import xxx

但是,當我們使用命令行進入main目錄執行 python excute.py 時,使用以上的導入方式就會出現 ModuleNotFoundError,就是找不到 main 這個模塊。

from http.xxx import xxx
from tcp.xxx import xxx

因為此時添加到環境變量的路徑已經由  xxx/xxx/killer/ 變為 xxx/xxx/killer/main/


免責聲明!

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



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