python——包与模块的使用

本文详细介绍了Python中包和模块的使用,包括包的创建、`__init__.py`的作用、模块导入方式以及如何通过`setup.py`文件制作发布压缩包并进行安装和卸载。通过实例解析了包内的模块引用,并展示了模块分享和安装的完整流程。
摘要由CSDN通过智能技术生成

python——包与模块的使用

包(package)的含义

在python当中,package是一个文件夹,该文件夹下有__init__.py文件。在其他.py文件如果想要使用该包下所有封装的模块,只需要import 该package即可使用,

默认__init__.py文件含义

该文件下需要使用from . import 模块名(该包目录下封装的模块)来导入需要使用的模块

from . import 模块名1		#"."表示该包目录
from . import 模块名2

测试包名的引用

  1. 创建meassge package
  2. 在包下创建发送模块(send.py)以及接收模块(receive.py)
  3. 创建导入包测试文件(test.py)
  4. 在包下的__init__.py文件下导入所需模块

在send.py定义发送函数

def set_send(text):
    print("发送消息:{}".format(text))

在receive.py定义接收函数

def get_rivice():
    return "接收来自10086的信息"

__init__.py中导入模块

from . import send
from . import receive

在test.py文件中测试

import message

message.send.set_send("hello,python")
tex = message.receive.get_rivice()
print(tex)

C:\Users\qun\AppData\Local\Programs\Python\Python37\python.exe C:\Users\qun\Desktop\python包模块\test.py
发送消息:hello,python
接收来自10086的信息

进程已结束,退出代码0

制作模块

当需要将自己的package分享时可以将其打包分享

制作发布压缩包过程如下:

  • 创建setup.py文件
  • 构建模块
  • 生成发布压缩包

setup.py文件

# 导入相关模块
from distutils.core import setup

setup(name="message",  # 包名
      version="1.0",  # 版本号
      description="message的发送与接收模块",  # 描述信息
      long_description="完整的发送以及接收模块",  # 完整的描述信息
      author="author_name",  # 作者名
      author_email="example@example.com",  # 作者邮箱
      url="url地址",  # url相关地址
      py_modules=["message.send",  # python相关模块
                  "message.receive"]
      )

构建模块

python3 setup.py build

[root@VM-0-16-centos Python]# python3 setup.py build
running build
running build_py
creating build
creating build/lib
creating build/lib/message
copying message/__init__.py -> build/lib/message
copying message/send.py -> build/lib/message
copying message/receive.py -> build/lib/message


生成发布压缩包

python3 setup.pu sdist

[root@VM-0-16-centos Python]# python3 setup.py sdist
running sdist
running check
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

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


在当前目录下会自动生成一个dist目录

[root@VM-0-16-centos Python]# ls dist/
message-1.0.tar.gz

可以看到dist目录下存在压缩文件

当其他人拿到我们的压缩包时,操作步骤

安装模块

tar -zxvf message-1.0.tar.gz	#解压
python3 setup.py install	#安装

安装之后使用python导入模块时就能正常使用

卸载模块

直接从安装目录下,把安装模块的目录删除即可

cd /usr/local/lib/python3.6/site-packages
rm -rf message*


nstall #安装


------

安装之后使用python导入模块时就能正常使用

### 卸载模块

直接从安装目录下,把安装模块的目录删除即可

```python
cd /usr/local/lib/python3.6/site-packages
rm -rf message*


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值