«

模块的制造, 发布, 安装

时间:2023-3-1 21:42     作者:wen     分类: Python


模块的定义: 一个.py文件就是一个模块

作用: 可以使我们有逻辑的去组织我们的python代码, 以库的形式去封装功能, 非常方便的去让调用者去使用

可以定义函数, 类, 变量, 也能包含可执行的代码

注意: 不同的模块可以定义相同的变量名, 但是每个模块中的变量名作用域只是在本模块中

模块分类: 内置模块, 自定义模块 第三方模块

# module_test.py
# 模块的制作说明
# 变量中的元素会被 from xx import * 时会被导入
__all__ = ['add']
def add(x, y):
    """
    普通的函数
    :param x:
    :param y:
    :return:
    """
    return x + y

if __name__ == '__main__':
    print('模块__name__变量=%s' % __name__)
# main.py
from model_test import module_test

# import model_test 导入模块 第一种方式
# from model_test import add  第二种方式
# from model_test import * 第三种方式

if __name__ == '__main__':
    print(module_test.add(1, 2))

    print('模块__name__变量=%s' % __name__)

模块的发布: 将写好的包放到一个xxx/目录下

在xxx/目录下创建一个setup.py文件

文件里写入下面代码

from distutils.core import setup

# name 模块名称
# version 版本号
# description 描述
# author 作者
# py_modules 要发布的内容
setup(name='my_model', version='1.0', description='my module', author='zhangsan', py_modules=['module_test'])

创建模块:

python .\setup.py build

PS E:\Python\demo\model_test> python .\setup.py build
running build
running build_py
creating build
creating build\lib
copying module_test.py -> build\lib

生产压缩包

python setup.py sdist

PS E:\Python\demo\model_test> python setup.py sdist
running sdist
running check
warning: check: missing required meta-data: url

warning: check: missing meta-data: if 'author' supplied, 'author_email' should be supplied too

warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)

warning: sdist: standard file not found: should have one of README, README.txt, README.rst

writing manifest file 'MANIFEST'
creating my_model-1.0
making hard links in my_model-1.0...
hard linking module_test.py -> my_model-1.0
hard linking setup.py -> my_model-1.0
creating dist
Creating tar archive
removing 'my_model-1.0' (and everything under it)

模块的安装

  1. 将上一节生成的压缩包复制到桌面解压

tar -zxvf my_model-1.0.tar.gz

解压后在桌面会生成一个文件夹my_model-1.0

  1. 进入 my_model-1.0 文件夹

cd my_model-1.0

  1. 执行命令安装 python setup.py install

  2. 查看是否安装成功

在python的安装目录下的site-packages目录下

第二种方法:

直接用 pip install my_model-1.0.tar.gz 安装