python面向对象(十、反射、发布模块)

12.模块和包

12.4 反射(4个内置函数)
hasattr(obj, str):判断obj对象是否有str属性或方法
getattr(obj, str):从obj对象,获取str属性或方法
delattr(obj, str):从obj对象中删除str属性或方法 很少使用
setattr(obj, str, xxx):给obj对象的str属性或方法赋值xxx 很少使用

12.4.1 从模块中获取数据
将字符串转化成变量、函数、属性、方法或类

12.4.2 从对象中获取属性或方法
将字符串转化成属性、方法或类

12.4.3 删除属性或方法:delattr(obj, str)

12.4.4 设置属性或方法:setattr(obj, str, xxx)

12.5 发布模块(知道)
如果希望自己开发的模块,分享 给其他人,可以按照以下步骤操作
12.5.1 制作发布压缩包步骤

  1. 创建 setup.py

    有关字典参数的详细信息,可以参阅官方网站:
    https://docs.python.org/2/distutils/apiref.html

  2. 构建模块
    $ python3 setup.py build

    使用tree命令,可以查看新生成的build文件夹的目录结构

  3. 生成发布压缩包
    bash $ python3 setup.py sdist

    再次使用tree命令,可以在dist目录下发现新生成的压缩包

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

12.5.2 安装模块

复制:
$ cp 12_发布模块/dist/hm_message-1.0.tar.gz .

解压缩
$ tar -zxvf hm_message-1.0.tar.gz

查看包信息文件
$ cat PKG-INFO

$ sudo python3 setup.py install

查看安装目录

安装成功后可以在python3中,像系统自带模块一样使用

12.5.3 卸载模块
1)查看模块安装的位置

2)切换目录,查看文件

3)直接从安装目录下,把安装模块的目录和info文件删除就可以
$ sudo rm -r hm_message*

12.5.4 pip安装第三方模块
第三方模块通常是指由知名的第三方团队开发的并且被程序员广泛使用的Python包/模块。例如pygame就是一套非常成熟的游戏开发模块
pip是一个现代的、通用的Python包管理工具。提供了对Python包的查找、下载、安装、卸载等功能
安装和卸载命令如下:

Windows下安装pygame

在 Mac 下安装 iPython
$ sudo pip install ipython

在 Linux 下安装 iPython
$ sudo apt install ipython
$ sudo apt install ipython3

12.5.5 修改pip安装源
在下面文件夹C:UsershangXuhuiAppDataRoamingpip中(如果没有文件夹,则新建文件夹),新建pip.ini文件,文件内容如下:
[global]
timeout = 60
index-url = https://pypi.doubanio.com/simple

12.5.6 pip命令
1)安装包:
(1)pip install 安装包名
(2)安装下载的本地文件:先输入pip install,再将安装包(whl文件)拖入cmd窗口, 安装包下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/
(3)指定软件源安装:pip install 安装包名 -i http://pypi.douban.com/

2)卸载包:pip uninstall 安装包名

3)查看已安装的所有包:pip list

4)升级:
pip install --upgrade 安装包名
pip install -U 安装包名
5)帮助 -h:
pip -h # 查看pip命令的帮助信息
pip install -h # 查看pip install命令的帮助信息

原文地址:https://www.cnblogs.com/bdzxh/p/14074938.html