模块的制造, 发布, 安装
时间: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)
模块的安装
- 将上一节生成的压缩包复制到桌面解压
tar -zxvf my_model-1.0.tar.gz
解压后在桌面会生成一个文件夹my_model-1.0
- 进入 my_model-1.0 文件夹
cd my_model-1.0
-
执行命令安装 python setup.py install
-
查看是否安装成功
在python的安装目录下的site-packages目录下
第二种方法:
直接用 pip install my_model-1.0.tar.gz 安装