• 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下还有其它模块需要导入,可按此方式即可。

  • 相关阅读:
    连载日记
    自我介绍
    test0710 二分专题
    test0709 搜索专题
    test0705
    test0704
    [题解] [HNOI2015]落忆枫音
    test0606
    test0523
    备份
  • 原文地址:https://www.cnblogs.com/paladinzxl/p/9506357.html
Copyright © 2020-2023  润新知