導致ImportError: No module named 'xxx'問題的兩種原因以及解決方案
阿新 • • 發佈:2019-02-01
ps:檔案路徑問題,是我在搜尋解決方案時,瞭解到大家遇到的問題,如需瞭解詳情,請戳博文原文;第二種工程路徑問題是我自己遇到的問題。將兩種問題總結在一起,希望能對大家有幫助。
1.檔案路徑問題
(1) 要使用的模組(py檔案)和當前模組在同一目錄,只要import相應的檔名就好,比如在a.py中使用b.py:
import b
(2)但如果要import一個不同目錄的檔案(例如b.py),需要使用sys.path.append方法將b.py所在目錄加入到搜素目錄中。然後進行import。
有三種格式(推薦使用最後一種,原因請檢視原博文,戳上面的連結):
import sys
sys.path.append(‘c:\xxxx\b.py’)
import sys
sys.path.append(‘c:\xxx\b.py’)
import sys
sys.path.append(‘c:/xxxx/b.py’) 這樣可以避免因為錯誤的組成轉義字元,而造成無效的搜尋目錄(sys.path)設定。
2.工程路徑問題
背景介紹:我用的是pycharm編輯器,python工程是開源的,下載下來後需調整一些引數。因此需要在pycharm環境中新建一個專案,匯入此工程。再匯入的過程中因為路徑問題,執行時一直報錯:ImportError: No module named ‘xxx’。
錯誤原因:首先新建工程:file–new project(填寫工程路徑,我新建的工程位置在D:\Python project\工程名
但我要執行的檔案network.py路徑是D:\Python project\666\src\network,但執行環境是D:\Python project\666,因此我在src檔案下執行程式雖然要import的module路徑位置都正確,但依舊顯示ImportError:No module named ‘xxx’。
解決方法:新建工程時:file–new project(填寫工程路徑,我新建的工程位置在D:\Python project\工程名\要執行檔案的目錄