Python引入多个模块及包的概念过程解析

 更新时间:2020年09月21日 10:21:19   作者:小名叫小明  
这篇文章主要介绍了Python引入多个模块及包的概念过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

实际开发中,一个大型的项目往往需要使用成百上千的 Python 模块,如果将这些模块都堆放在一起,势必不好管理。

而且,使用模块可以有效避免变量名或函数名重名引发的冲突,但是如果模块名重复怎么办呢?

因此,Python提出了包(Package)的概念。

一、包的概念和基本使用

什么是包呢?简单理解,包就是文件夹,只不过在该文件夹下必须存在一个名为“__init__.py” 的文件。

每个包的目录下都必须建立一个 __init__.py 的模块,可以是一个空模块,可以写一些初始化代码,其作用就是告诉 Python 要将该目录当成包来处理。

包名的命名方式和变量名一致,'小写字母' + '_' 。

使用 'import 包名' 可以一次性导入包中所有的模块。

示例:

1.新建一个 test_message 的文件夹

2.在目录下,新建两个文件 send_message.py 和 receive_message.py

3.在 send_message 文件中定义一个 send 函数

def send(msg):
print("正在发送信息:%s" % msg)

4.在 receive_message 文件中定义一个 receive 函数

def receive():
print("正在接收信息......")

5.在 test_message 文件夹下新建一个 __init__.py 的文件,并且在该文件中指定对外界提供的模块列表

# 从 当前目录 导入 模块列表
from . import send_message
from . import receive_message

6.在外部直接导入 hm_message 的包

import test_message
test_message.send_message.send("测试发送信息")
test_message.receive_message.receive()
#正在发送信息:测试发送信息
#正在接收信息......

二、发布模块

如果希望自己开发的模块,分享给其他人,可以按照以下步骤操作。

1、制作发布压缩包步骤

创建 setup.py

from distutils.core import setup
setup(name="test_message", # 包名
   version="1.0", # 版本
   description="发送和接收消息模块", # 描述信息
   long_description="完整的发送和接收消息模块", # 完整描述信息
   author="小名叫小明", # 作者
   author_email="328122186@qq.com", # 作者邮箱
   url="nothing", # 主页
   py_modules=["hm_message.send_message",

setup函数的参数的详细信息,可以参阅官方网站:

https://docs.python.org/2/distutils/apiref.html

构建模块

D:\project> python setup.py build

执行完毕后,会发现目录中多了一个 build 文件夹,里面是关于模块的一些文件。

生成发布压缩包

D:\project> python setup.py sdist

执行完毕后,发现当前目录下多了一个文件夹dist,里面有个压缩文件 test_message-1.0.tar.gz。

这里要注意:要制作哪个版本的模块,就使用哪个版本的解释器执行!

2、安装模块

首先解压压缩文件,进入该文件夹。
执行命令:

python setup.py install

安装好,我们就可以测试下是否能够正常使用包。

记得把原来的包删了,把下载解压的包也删了。这样才能测试出,这个包是安装在系统目录里了,而不是开发目录里。

import test_message
test_message.send_message.send("测试发送信息")
test_message.receive_message.receive()

print(test_message.__file__)
# D:\python\lib\site-packages\test_message\__init__.py

3、 卸载模块

根据 包.__file__ 得到的信息,直接从安装目录下,把安装模块的目录删除就可以。

三、安装第三方模块

第三方模块通常是指由知名的第三方团队开发的,并且被程序员广泛使用的 Python 包 / 模块。

在安装第三方模块的时候,我们一般使用 pip 工具。

pip 是一个现代的,通用的 Python 包管理工具,提供了对 Python 包的查找、下载、安装、卸载等功能。

示例:

我们下载 pygame 模块。

pygame 是一套非常成熟的游戏开发模块。

# 安装
pip install pygame
# 卸载
pip uninstall pygame

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python入门学习之字符串与比较运算符

    Python入门学习之字符串与比较运算符

    这篇文章主要介绍了Python入门学习之字符串与比较运算符,是Python语法中的基础知识,需要的朋友可以参考下
    2015-10-10
  • 彻底理解Python中的yield关键字

    彻底理解Python中的yield关键字

    今天小编就为大家分享一篇关于彻底理解Python中的yield关键字,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Python unittest单元测试框架实现参数化

    Python unittest单元测试框架实现参数化

    这篇文章主要介绍了Python unittest单元测试框架实现参数化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Python字符串中的单词反转的实现示例

    Python字符串中的单词反转的实现示例

    在Python中,要将字符串中的单词进行反转,本文主要介绍了Python字符串中的单词反转的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-04-04
  • python读取目录下最新的文件夹方法

    python读取目录下最新的文件夹方法

    今天小编就为大家分享一篇python读取目录下最新的文件夹方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python中如何让输出不换行

    python中如何让输出不换行

    这篇文章主要介绍了python中如何让输出不换行问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 如何安装并使用conda指令管理python环境

    如何安装并使用conda指令管理python环境

    这篇文章主要介绍了如何使用conda指令管理python环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python+html文字点选验证码加固安全防线

    python+html文字点选验证码加固安全防线

    这篇文章主要为大家介绍了python文字点选验证码加固安全防线实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Python实现计算圆周率π的值到任意位的方法示例

    Python实现计算圆周率π的值到任意位的方法示例

    这篇文章主要介绍了Python实现计算圆周率π的值到任意位的方法,简单分析了圆周率的计算原理,并结合实例形式分析了Python计算圆周率的相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • 提高Matplotlib绘图清晰度的几种方法

    提高Matplotlib绘图清晰度的几种方法

    使用python中的matplotlib.pyplot绘图的时候,如果将图片显示出来,或者另存为图片,常常会出现清晰度不够的问题,当然这种问题是对于png或者jpg这种格式的图片而言的,所以本文给大家介绍了提高Matplotlib绘图清晰度的几种方法,需要的朋友可以参考下
    2024-01-01

最新评论