文章目录
- python——包与模块的使用
- 包(package)的含义
- 默认`__init__.py`文件含义
- 测试包名的引用
- 制作模块
- `setup.py`文件
- 构建模块
- 生成发布压缩包
- 安装模块
- 卸载模块
python——包与模块的使用
包(package)的含义
在python当中,package是一个文件夹,该文件夹下有
__init__.py
文件。在其他.py文件如果想要使用该包下所有封装的模块,只需要import 该package即可使用,
默认__init__.py
文件含义
该文件下需要使用from . import 模块名(该包目录下封装的模块)来导入需要使用的模块
from . import 模块名1 #"."表示该包目录 from . import 模块名2
测试包名的引用
- 创建meassge package
- 在包下创建发送模块(send.py)以及接收模块(receive.py)
- 创建导入包测试文件(test.py)
- 在包下的
__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*