1. 程式人生 > >導致ImportError: No module named 'xxx'問題的兩種原因以及解決方案

導致ImportError: No module named 'xxx'問題的兩種原因以及解決方案

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\工程名

,故我填寫的路徑名稱是:D:\Python project\666,填好專案資訊,點選create,生成一個包含“.idea”檔案的666工程。將開源專案複製到工程666下,完成工程的匯入。
這裡寫圖片描述
但我要執行的檔案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\工程名\要執行檔案的目錄
,故應填寫的路徑名稱是:D:\Python project\666\src,之後在執行程式,就沒有錯誤了。
這裡寫圖片描述