• python模块之导入包及模块发布


    1.导入包(不常用的方法)

    在使用python的包时,有时候想直接导入包名,然后通过包名来调用模块,例如:

    temp为我们创建的一个包,如果我们想通过下面的方式进行导入模块中的方法,将会出错

    import temp
    
    temp.text1.hello()

    现在我们在这个__init__.py文件中输入如下代码,再像上面那样导入时,将不会出错

    from . import text1
    from . import text2
    

    运行结果:

    2. 模块的发布

    将自己创建的模块发布到系统目录下,这样就可以方便、随时导入我们的模块了,就像我们导入random模块一样方便了。

    假如我们现在想发布temp包中的text1.py模块和text2.py模块

    第一步:在与temp包同级的目录下创建一个setup.py文件

    里面的内容为

    from distutils.core import setup
    
    setup(name="zhao", version="1.0", description="This is the toolkit I used in my paper. ",
          author="zhao", py_modules=["temp.text1", "temp.text2"])

    第二步:在Python文件夹该级目录下启用shell,输入:python setup.py build。将会创建一个build.,查看结构和原py模块包,路径相仿,有lib等。

    build之后会看到文件夹下多出了如下内容

    第三步:制作模块压缩包:python setup.py sdist,在当前目录下生成了一个模块名加版本的模块压缩包。

     

    sdist之后,多出了如下内容

    第四步:解压和安装。解压这个压缩包,然后使用命令python setup.py install 进行安装。

    我是安装在虚拟环境machineLearning中的。

    第五步:安装完成之后进行测试

     随便建立一个文件,导入我们刚才发布的包和模块,测试通过,安装成功。

    第六步:如果需要卸载我们刚才安装的模块,直接手动卸载即可,我们安装的模块一般在这个目录下,删除安装的该文件夹即可。

  • 相关阅读:
    c#使用NPOI导出Excel及往Excel里追加记录
    c#自定义进度条
    游戏中的过程生成——元胞自动机 Celluar Automata 生成洞穴地形
    在Unity(C#)下实现Lazy Theta*寻路
    A*算法改进——Any-Angle Path Planning的Theta*算法与Lazy Theta*算法
    unity下的Line of Sight(LOS)的绘制
    unity中绘制战争迷雾
    unet中可视性检查的一些笔记
    在DirectX11下用Stencil Buffer绘制可视化Depth Complexity
    漏洞复现-CVE-2015-1427-Groovy远程代码执行
  • 原文地址:https://www.cnblogs.com/xinmomoyan/p/10888312.html
Copyright © 2020-2023  润新知