當前位置:首頁 » 編程語言 » 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-11-24 12:19:11 瀏覽:841
安卓和ios對接有什麼不同 發布:2024-11-24 11:49:22 瀏覽:312
c語言讀取文件並輸出 發布:2024-11-24 11:42:45 瀏覽:622
打開u盤拒絕訪問 發布:2024-11-24 11:32:07 瀏覽:488
資料庫縮略 發布:2024-11-24 10:54:18 瀏覽:598
uniqidphp 發布:2024-11-24 10:54:15 瀏覽:659
linux設備驅動程序pdf 發布:2024-11-24 10:40:26 瀏覽:805
金盾pdf加密提取 發布:2024-11-24 10:37:01 瀏覽:810
sqlserver2005報表 發布:2024-11-24 10:33:23 瀏覽:585
直男Qq密碼一般會設成什麼 發布:2024-11-24 10:28:00 瀏覽:199