python包的发布
1.先写了一个python 模块在/root/python目录下创建了一个包名Packagesmkdir Pakages2.在Packages下创建了一个模块mymod.py[root@bogon Pakages]# cat mymod.py #!/usr/bin/env python#x = 2017def printInfo():print x + 30
1.先写了一个python 模块在/root/python目录下创建了一个包名Packages
mkdir Pakages
2.在Packages下创建了一个模块mymod.py
[root@bogon Pakages]# cat mymod.py
#!/usr/bin/env python
#
x = 2017
def printInfo():
print x + 30
class TestClass():
data = 'hello testclass'
def __init__(self,y):
self.name = y
def printName(self):
print self.data, self.name
if __name__ == '__main__':
printInfo()
instance1 = TestClass('chinatelecom')
print instance1.data
print 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 setup
setup(
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-formats
List 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-formats
List 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.py
4.获取安装python包
将制作好的python包放到到网站上以供下载,下载下来以后使用
比如源码包先解压以后,进入解压后的路径,
python setup.py build
python setup.py install
即可
5.查看包的信息:可以看到PKG-INFO里面就是我们平时yum info rpm包时候的一些解释信息。
Author:网名为什么那么长
更多推荐
所有评论(0)