當前位置:首頁 » 編程語言 » pythonimport找不到模塊

pythonimport找不到模塊

發布時間: 2024-10-09 19:23:45

1. 詳解python中import方法引入模塊

在python用import或者from...import或者from...import...as...來導入相應的模塊,作用和使用方法與C語言的include頭文件類似。其實就是引入某些成熟的函數庫和成熟的方法,避免重復造輪子,提高開發速度。
python的import方法可以引入系統的模塊,也可以引入我們自己寫好的共用模塊,這點和php非常相似,但是它們的具體細節還不是很一樣。因為php是在引入的時候指明引入文件的具體路徑,而python中不能夠寫文件路徑進行引入。
下面總結一下import的幾種情況:
python包含子目錄中的模塊方法比較簡單,關鍵是能夠在sys.path裡面找到通向模塊文件的路徑。
下面將具體介紹幾種常用情況:
(1)主程序與模塊程序在同一目錄下:
如下面程序結構:
`-- src
|-- mod1.py
`-- test1.py
若在程序test1.py中導入模塊mod1, 則直接使用import mod1或from mod1 import *;
(2)主程序所在目錄是模塊所在目錄的父(或祖輩)目錄
如下面程序結構:
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
`-- test1.py
若在程序test1.py中導入模塊mod2, 需要在mod2文件夾中建立空文件__init__.py文件(也可以在該文件中自定義輸出模塊介面); 然後使用 from mod2.mod2 import * 或import mod2.mod2.
(3)主程序導入上層目錄中模塊或其他目錄(平級)下的模塊
如下面程序結構:
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
|-- sub
| `-- test2.py
`-- test1.py
若在程序test2.py中導入模塊mod1和mod2。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立該文件。然後調用方式如下:
下面程序執行方式均在程序文件所在目錄下執行,如test2.py是在cd sub;之後執行python test2.py
而test1.py是在cd src;之後執行python test1.py; 不保證在src目錄下執行python sub/test2.py成功。
import sys
sys.path.append("..")
import mod1
import mod2.mod2

2. python導入Android模塊,提示不存在

madagascar的自帶模塊默認存放在$RSFROOT/lib/python/site-packages目錄下,模塊的搜索路徑由環境變數PYTHONPATH決定。安裝madagascar時,默認的環境變數值為PYTHONPATH=$RSFROOT/lib/python/site-packages,此時雖然所有的模塊都包含在這個文件夾下,但是編譯時默認只搜索指定目錄的直接內容,而不搜索其子目錄,因此對於模塊不存在問題有兩種解決辦法。
比如 import fdmod
時提示fdmod模塊不存在,通過查找,我們可以知道這個模塊是放在.../site-packages/rsf/recipes目錄下的:
a. 預處理命令改為 from rsf.recipes import
fdmod.因為默認從site-packages目錄開始查找,可以找到rsf,
而rsf.recipes則表示rsf目錄下的recipes子目錄
b. 修改環境變數PYTHONPATH。為了一勞永逸,修改變數的方法更加方便。在設置文件 .bashrc 中添加
export PYTHONPATH=$PYTHONPATH:路徑1:2:3:。。。
新加的路徑最好是包括目錄site-packages下的所有子目錄以及子目錄下的子目錄,也就是說要包括到最低一級的目錄,修改完之後
source 一下配置文件就可已了。然後重新啟動shell。以後在導入自帶模塊時,直接寫模塊名稱就可已了

熱點內容
安卓平板和蘋果的平板有什麼區別 發布:2024-10-09 20:26:37 瀏覽:425
上傳速度對網速的影響嗎 發布:2024-10-09 20:09:38 瀏覽:561
密碼鎖芯在哪裡能買到 發布:2024-10-09 20:05:33 瀏覽:452
傳奇伺服器強行下線是什麼意思 發布:2024-10-09 20:05:11 瀏覽:920
sqljoinas 發布:2024-10-09 19:48:01 瀏覽:391
文本編輯器沒有編譯器可以嗎 發布:2024-10-09 19:39:36 瀏覽:996
linux環境變數oracle 發布:2024-10-09 19:24:36 瀏覽:318
pythonimport找不到模塊 發布:2024-10-09 19:23:45 瀏覽:511
安卓怎麼卸載插件 發布:2024-10-09 19:07:13 瀏覽:933
see腳本 發布:2024-10-09 19:07:12 瀏覽:424