setuptools

setuptools
Linux安装setuptools
  在CentOS上,可以使用命令yum install python-setuptools来安装setuptools。

制作和安装自定义的Python分发包
  在Python入门中介绍了自定义包,本节在自定义包的基础上创建能安装的Python分发包。
  在自定义包的同级目录创建文件setup.py,其内容如下:

#-*- coding:utf-8 -*-

from setuptools import setup, find_packages

setup(
    name = 'mypackage',
    version = '1.0',
    packages = find_packages(),
)

  在与setup.py同级的目录下创建目录mypackage,并在mypackage创建空文件__init__.py,具体目录结构如下:

[root@www.fmttr.com mypackage]# tree
.
├── mypackage
│   └── __init__.py
└── setup.py

1 directory, 2 files

  egg为比较早出现的Python分发包格式,后续的格式包括zip、exe、rpm和wheel。其中wheel为比较常用的Python分发包格式。
  常用的命令如下:
    生成egg包:python setup.py bdist_egg
    编译:python setup.py build
    生成zip格式的包:python setup.py sdist
    生成exe格式的包:python setup.py bdist_wininst
    生成rpm格式的包:python setup.py bdist_rpm
    生成wheel格式的包:python setup.py bdist_wheel
  以egg格式的包为例,执行生成egg格式包的命令“python setup.py bdist_egg”后,其目录结构为:

[root@www.fmttr.com mypackage]# tree
.
├── build
│   ├── bdist.linux-x86_64
│   └── lib
│       └── mypackage
│           └── __init__.py
├── dist
│   └── mypackage-1.0-py3.6.egg
├── mypackage
│   └── __init__.py
├── mypackage.egg-info
│   ├── dependency_links.txt
│   ├── PKG-INFO
│   ├── SOURCES.txt
│   └── top_level.txt
└── setup.py

7 directories, 8 files

  其中目录dist下扩展名为egg的文件即为生成的egg格式的Python发行包。生成egg格式的包后,可以使用命令easy_install进行安装(easy_install dist/mypackage-1.0-py3.6.egg)。也可以略过生成包的命令,直接执行python setup.py install,此命令会生成包,并且会自动安装包

卸载Python分发包
  卸载Python分发包的步骤也很简单:
    1.在site-packages下删除包对应的目录;
    2.在site-packages/easy-install.pth中删除包对应的行。