python模塊管理框架


 

 

python下包管理框架記錄

  

  測試環境:ubuntu16.04下的~/目錄下。

 

 一、我們的測試目錄結構如下:

  當前目錄在:~/chap7,使用tree命令看到當前目錄下的文件及文件夾結構如下:

  

  其中三個__init__.py為空文件,

  simpledatasetloader.py里定義一個類:

  

  simplepreprocessor.py里定義另一個類:

  

  在根文件knn.py中導入格式如下:

  

  在knn.py這樣配置,我們希望from包直接導入包中模塊的類名。

 

 二、模塊與包

  模塊:實質上就是一個以.py結尾的文件,可以被其他py文件調用。

  包:即包所在的文件夾里包含一個__init__.py的文件,即在這里的pyimagesearch、datasets、preprocessing分別為三個包。

 

 三、運行測試

  運行:python knn.py顯示結果如下:

  

  原因是,我們沒有配置__init__.py文件。

  我們在python中,from sklearn.preprocessing import LabelEncoder,則可以直接從目錄包中導入類名,

從sklearn的git目錄下的neighbors的__init__.py看配置如下:

  

  因此,我們將preprocessing文件夾下的__init__.py添加如下:

  

  將datasets文件夾下的__init__.py添加如下:

  

  保存后,此時,再次執行python knn.py即可正確顯示如下:

  

  因此,在以包為管理方式,來配置不同的包管理時,可參考python中某個包的配置方式來配置。

  如果在datasets下還有其它模塊需要導入,可按此方式即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM