1.先写了一个python 模块在/root/python目录下创建了一个包名Packages
mkdir Pakages
2.在Packages下创建了一个模块mymod.py
[root@bogon Pakages]# cat mymod.py #!/usr/bin/env python#x = 2017def PRintInfo():print x + 30class TestClass():data = 'hello testclass'def __init__(self,y):self.name = ydef printName(self):print self.data, self.nameif __name__ == '__main__':printInfo()instance1 = TestClass('chinatelecom')print instance1.dataprint instance1.name
3.在Packages下创建格式文件,__init__.py,README,setup.py
touch __init__.py README ///因此此处仅做测试,因此为空
[root@bogon Pakages]# cat setup.py #!/usr/bin/env python#from distutils.core import setupsetup( name = 'Packages', version = '1.0', author = 'dengyuelin', author_email = 'dylisbean@Gmail.com', maintainer_email = 'xxxx', py_modules = ['mymod'], url = 'your_url', download_url = 'http://www.hauhualin.com/pymodules/download', description = 'this is the test module' )
目前目录文件如下:
[root@bogon Pakages]# ls__init__.py mymod.py README setup.py
3.创建需要的包的类型
3.1 二进制包:rpm,gztar,bztar,
获取帮助:可以支持的二进制包都在下面了,但是wininst和msi是windows环境的需要在windows平台的python才能制作。
[root@bogon Pakages]# python setup.py bdist --help-formatsList of available distribution formats: --formats=rpm RPM distribution --formats=gztar gzip'ed tar file --formats=bztar bzip2'ed tar file --formats=ztar compressed tar file --formats=tar tar file --formats=wininst Windows executable installer --formats=zip ZIP file --formats=msi Microsoft Installer
因此尝试制作rpm包:
[root@bogon Pakages]# python setup.py bdist --formats=rpm
rpm: /usr/bin/rpmspec: No such file or directory
error: Failed to execute: "rpm -q --qf '%{name}-%{version}-%{release}.src.rpm %{arch}/%{name}-%{version}-%{release}.%{arch}.rpm//n' --specfile 'build/bdist.linux-x86_64/rpm/SPECS/Packages.spec'"
看原因是缺少/usr/bin/rpmspec,这是一个什么工具查一下:
yum whatprovides */rpmspec
原来是rpmbuild工具,安装一个,
yum install -y rpm-build-4.11.3-21.el7.x86_64
安装完后,重新制作rpm包:
python setup.py bdist --formats=rpm
没问题了,并且在当前目录下生成了build和dist目录,其中dist目录下生成了rpm包
3.2制作源码包:
删掉制作rpm包时生成的build和dist目录:rm -rf build dist
获取帮助:
[root@bogon Pakages]# python setup.py sdist --help-formatsList of available source distribution formats: --formats=bztar bzip2'ed tar-file --formats=gztar gzip'ed tar-file --formats=tar uncompressed tar file --formats=zip ZIP file --formats=ztar compressed tar file
继续制作源码包:
python setup.py sdist --formats=bztar
查看当前目录:只生成了一个新的dist目录和Packages-1.0.tar.bz2,没有build目录,
./├── dist│ └── Packages-1.0.tar.bz2├── __init__.py├── MANIFEST├── mymod.py├── README└── setup.py4.获取安装python包
将制作好的python包放到到网站上以供下载,下载下来以后使用
比如源码包先解压以后,进入解压后的路径,
python setup.py build
python setup.py install
即可
5.查看包的信息:可以看到PKG-INFO里面就是我们平时yum info rpm包时候的一些解释信息。
Author:网名为什么那么长
新闻热点
疑难解答