問題描述
- 很多時候你用 pycharm 用習慣了,啥都弄好了,但是卻忽略了很多路徑上的問題,偶爾需要和其他環境、平台交互的時候,比如寫了一個 C# 程序去調用 python 的借口,就相當於 terminal 傳參數啟動,這個時候就會顯示各種各樣的 No module 問題
解決辦法
- 究其原因,是因為外部環境在調用 python 接口的時候,要去你的程序中找各個 module,但是如果這些 module 還沒有加入到環境變量中,那麼就會找不到,因此推薦用下面的語句放在每個用到的 py 文件的最前頭
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
- 這樣的操作可以將當前文件的上一級目錄整個添加到環境變量中,如此便可以輕松地調用上一級目錄下面的所有文件啦
- 如果你的目錄層級很多,當前的目錄在一個較深的位置,那麼你可以將這個命令稍微改一下,總之將你要使用的所有文件和目錄包含進去即可,比如可以
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../../')
- 當然如果你只想調用當前文件夾下的所有目錄,那麼就可以使用
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + './')
總結
- 很多時候 terminal 運行出現 no module 錯誤大概都是因為當前文件夾沒有加入環境變量導致的
- 通過上述的命令嘗試一下,將跟路徑盡可能地加入到環境變量中,即可以隨便調用了