博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python中模块的发布与安装
阅读量:6085 次
发布时间:2019-06-20

本文共 2543 字,大约阅读时间需要 8 分钟。

模块(Module)

   Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块。通俗的来说,模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块。

 

导入模块

  •    import: 引入具体模块,可以一次性引入多个模块,使用逗号隔开即可

            eg:import modlue1,module2,module3,.....moduleN ,   使用模块中的函数时,格式为:moduleName.funName()

  •  from ... import ... : 从模块中导入一个指定的部分到当前命名空间

         eg: from modduleName import name1 [,name2 [,name3 [,....nameN]]]

  •     from ... import * : 把一个模块的所有内容全都导入到当前的命名空间

        eg: from moduleName import *

 

包将有联系的模块组织在一起,有效避免模块名称冲突问题,让应用组织结构更加清晰。

一个包可以包含多个模块。

假定我们的包的例子有如下的目录结构:

Phone/    __init__.py    common_util.py    Voicedta/        __init__.py        Pots.py        Isdn.py    Fax/        __init__.py        G3.py    Mobile/        __init__.py        Analog.py        igital.py    Pager/        __init__.py        Numeric.py

Phone 是最顶层的包,Voicedta 等是它的子包。 我们可以这样导入子包:

import Phone.Mobile.AnalogPhone.Mobile.Analog.dial()

你也可使用 from-import 实现不同需求的导入

 

模块制作

首先定义函数方法文件,文件里面定义了多个函数方法可提供给外界使用。

moudle里一般都会有一个__init__.py文件。有的__init__.py中是空白,有的却会有__all__参数。

如果其他页面import 的时候如果__init__.py是空白的,可以直接import到moudle的所有函数。而如果__init__.py中定义了__all__,则import 的时候只会导入__all__部分定义的内容。

 

模块发布

  •   模块的目录结构体:
├── setup.py├── suba│   ├── aa.py│   ├── bb.py│   └── __init__.py└── subb    ├── cc.py    ├── dd.py    └── __init__.py

        模块的目录结构中包含一个setup.py文件,用于定义模块名称、包含的模块等模块信息。

  •  setup.py中的内容:
from distutils.core import setupsetup(name="模块名称", version="版本", description="模块描述", author="模块作者", py_modules=['suba.aa', 'suba.bb', 'subb.cc', 'subb.dd'(此处主要是包含的模块内容)])
  • 构建模块

 

Linux命令(当前位置位于模块文件夹):  python setup.py build
构建后目录结构.├── build│   └── lib.linux-i686-2.7│       ├── suba│       │   ├── aa.py│       │   ├── bb.py│       │   └── __init__.py│       └── subb│           ├── cc.py│           ├── dd.py│           └── __init__.py├── setup.py├── suba│   ├── aa.py│   ├── bb.py│   └── __init__.py└── subb    ├── cc.py    ├── dd.py    └── __init__.py
  • 生成发布压缩包

 

 
Linux命令(当前位置位于模块文件夹):
python setup.py sdist打包后,生成最终发布压缩包 moduleName-version.tar.gz , 目录结构.├── build│   └── lib.linux-i686-2.7│       ├── suba│       │   ├── aa.py│       │   ├── bb.py│       │   └── __init__.py│       └── subb│           ├── cc.py│           ├── dd.py│           └── __init__.py├── dist│   └── xwp-1.0.tar.gz├── MANIFEST├── setup.py├── suba│   ├── aa.py│   ├── bb.py│   └── __init__.py└── subb    ├── cc.py    ├── dd.py    └── __init__.py

 

模块安装

 

  • 找到模块的压缩包
  • 解压
  • 进入文件夹
  • 执行命令sudo python setup.py install

 

此时,该模块已经安装到系统中,可以直接使用import关键字进行导入模块。

ps:如果在install的时候,执行目录安装,可以使用python setup.py install --prefix=安装路径

 

转载于:https://www.cnblogs.com/bywallance/p/6886519.html

你可能感兴趣的文章
[node] 用 node-webkit 开发桌面应用
查看>>
Nginx访问控制和虚拟主机
查看>>
report widget not working for external users
查看>>
windows phone 摄像头得到图片是旋转90°
查看>>
Linux--sed使用
查看>>
没有显示器的情况下安装和使用树莓派
查看>>
【android】使用handler更新UI
查看>>
mochiweb 源码阅读(十五)
查看>>
前端面试中的常见的算法问题
查看>>
计算机语言的基本理论
查看>>
nodejs流之行读取器例子
查看>>
批量文件重命名工具
查看>>
简单说一下UWP中的JumpList
查看>>
unity将object[]或者string对象转换成枚举enum
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.19. 范围函数和操作符...
查看>>
以太坊系列之六: p2p模块--以太坊源码学习
查看>>
使用scikit-learn解决文本多分类问题(附python演练)
查看>>
2018 年最值得关注的 JavaScript 趋势
查看>>
什么是区块链?超级账本 Brian Behlendorf 从五个方面教你认识
查看>>
Linux中的帮助功能
查看>>