首页 > 编程 > Python > 正文

python包的发布

2019-11-08 20:24:54
字体:
来源:转载
供稿:网友

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:网名为什么那么长


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表