Python 模块的制作、发布、安装

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时计算 Flink 版,5000CU*H 3个月
简介: Python 模块的制作、发布、安装

作用:

  • 可以使我们有逻辑的去组织我们的python代码
  • 以库的形式去封装功能,非常方便的去让调用者去使用
  • 可以定义函数、类、变量,也能包含可执行的代码

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

1.模块的制作

•(1)Python文件都可以作为一个模块,模块的名字就是文件的名字。 比如创建一个test.py文件,文件中创建一个add函数。test.py就是一个模块。


26b16ebaf3151b08c2ef3f3f5a12e81.png


•(2)调用test.py模块

f73b2f240e546d694505386705f46b3.png

•(3)模块测试 一般写完模块之后都会进行测试,下面来看下这个例子 写好模块之后,在模块中写了一段测试的代码。

84c0ee896c5af902818267ef023b581.png

•在main.py 导入test模块,执行时模块中的测试代码也执行了。

5379d9be0aa63719469f2c322ac7e26.png

•(4)为了避免这种情况使用到一个__name__的变量。

08c7776fe54f2eaf2bb18fd18d8f960.png

•在main.py中导入执行

0c3ebc3b4426366dc029a30cae9bf9f.png

•知道__name__变量的原理之后,就可以很好的处理测试代码了。 将测试的代码放到 if __name__ = '__main__':

b5330dcafca4932bfaa94de330fa3b0.png

•(5)__all__ 的作用,如果一个文件中有__all__变量,那么也就意味着这个变量中的元素,会被from xxx import * 时导入

31e1cb967397e4630397d858504c1f5.png

•有all变量import方式导入,可以无异常,可以正常使用。

80c4b263010e5615a3c18c6d5e36dea.png

•from test import * 方式导入

df812c1535ee9b87706cad9078c688d.png

2.模块的发布

•平时使用第三方模块是其他开发者发布出来,需要安装后调用。发布一个模块的步骤:

•(1)将写好的包放到一个test/目录下

9b32e54545992f0cc45e9c88eef7ab2.png

•(2)在test/目录下创建一个文件setup.py文件

•文件里写入下面代码

from distutils.core import setup 
# name 模块名称 
# version 版本号 
# description 描述 
# author 作者 
# py_modules 要发布的内容 
setup(name="my_module", version="1.0", description="my module", 
author="lilei", py_modules=['test1.A', 'test1.B', 'test2.C', 'test2.D'])

•(3)创建模块

通过终端进入当前文件目录

36159eb823abc43703225ec29e336f1.png

•python setup.py build

0686abeee0879c5f7d28ddd337b3478.png

•(4)生成压缩包

•python setup.py sdist

733b6e784fb21aac3619a70b47be652.png

•(5)看下test目录下的结构

fc620e390adc5dd680cc6bfc9a71e57.png

3.模块的安装

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

•tar -zxvf qzk-1.0.tar.gz

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

•(2)进入qzk-1.0文件夹

•cd qzk-1.0-1.0

•(3)执行命令安装 python setup.py install

•(4)查看是否安装成功

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

或者

为了方便我们在当前目录安装压缩包

•pip install qzk-1.0.tar.gz

f33375e4b066b4ca4515525cdcfd665.png

•模块引入,可以导入说明安装成功

相关文章
|
24天前
|
IDE 开发工具 索引
在Python中安装第三方库
在Python中安装第三方库
320 30
|
22天前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
41 4
|
2天前
|
Python
Python Internet 模块
Python Internet 模块。
99 74
|
20天前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
103 63
|
21天前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
21天前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
22天前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
35 5
|
21天前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
21天前
|
存储 JSON 网络安全
使用 EFS 在 AWS Lambda 上安装 Python 依赖项
使用 aws lambda 时,开发人员面临的常见挑战之一是管理大型 python 依赖项。
26 1
|
24天前
|
Ubuntu Linux iOS开发
安装Python
安装 Python 是相对简单的过程,但需要根据不同的操作系统选择合适的方法。同时,合理使用虚拟环境可以更好地管理项目的依赖和环境,提高开发效率。希望这些步骤和注意事项能帮助你顺利安装 Python。