知识点

包结构

1
2
3
# 包是一个包含多个模块的特殊目录
# 目录下有一个特殊的文件: __init__.py
# 包名的命名方式和变量名一致,"小写字母" + "_"

新建包

方法1:右键【项目】–> 【Directory】–> 新建一个【__init__.py】文件

方法2:右键【项目】–> 【python packages】

__init__.py编辑

1
2
3
4
# 要在外界使用包中的模块,需要在__init__.py中指定对外界提供的模块列表
# .表示从当前目录导入模块列表
from . import 模块名
from . import 模块名

发布模块

  1. 创建setup.py文件,该文件与要打包的目录平级,内容非常的固定

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    from distutils.core import setup

    setup(name = "message" # 包名,也就是包文件夹的名称
    version= "1.0" # 版本
    description = "这个是我的第一个包的简短描述信息" # 描述信息
    long_description = "第一个包的完整描述信息" # 完整描述信息
    author = "wuxiang" # 作者
    author_email = '2467827751@qq.com' # 作者邮箱
    url = 'www.wudashuai.com' # 主页
    py_modules = ["message.send_message", # 格式:包名.模块名
    "message.recive_message"] # 目录下所有的模块名
    )
  2. 构建模块(在命令行模式下执行)

    1
    python3 setup.py build
  3. 生成发布压缩包

    1
    python3 setup.py sdist

安装、卸载包

安装:

1
2
3
4
# 解压包名
tar -zxvf 包名.tar.gz
# 安装包名
sudo python3 setup.py install

卸载:

1
2
3
# 进入指定目录将包删除即可
cd /usr/local/lib/python3.8/dist-packages/
sudo rm -r "要删除的包名*"

pip安装

1
2
sudo pip install 包名
sudo pip uninstall 包名

作业

  1. (问答)描述以下包中包含得内容

  2. (问答)包名的命名方式是什么

  3. (问答)新建一个包的方式

  4. (问答)如果要在外界使用包中的模块,应该如何修改包内容

  5. (问答)简述发布自己的包的过程,以下是打包的内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    from distutils.core import setup

    setup(name = "message" # 包名,也就是包文件夹的名称
    version= "1.0" # 版本
    description = "这个是我的第一个包的简短描述信息" # 描述信息
    long_description = "第一个包的完整描述信息" # 完整描述信息
    author = "wuxiang" # 作者
    author_email = '2467827751@qq.com' # 作者邮箱
    url = 'www.wudashuai.com' # 主页
    py_modules = ["message.send_message", # 格式:包名.模块名
    "message.recive_message"] # 目录下所有的模块名
    )