通常我们开发一个Python开源项目,想在多台服务器上部署,或者贡献项目为其他开发者来使用,最好的方式是发布到PyPI(Python包管理平台) ,之后可以通过pip install package方式安装包,下面将介绍最基本的Python项目打包和发布的方法,其实目前有很多方法,您还可以通过访问官方打包文档来深入理解: PyPI打包和分发文档。
1.介绍Python项目目录结构
1.png
上面是我之前开发的一个项目,这个项目对hive cli进行了简单的封装,简化以后其他项目有关hive命令开发工作,具体内容这里不多说了,感兴趣的朋友可以去了解一下,提一些宝贵意见。(这个项目放在github)。
项目最顶层的目录为“hive-executor-py”,其中与打包最相关的文件是setup.py,下面附上setup.py里面的内容:
#!/usr/bin/env pythonfrom setuptools import setup setup( name='hive-executor-py', version='1.0.0.dev1', description='A hive client python project', url='https://github.com/calvinjiang/hive-executor-py', author='Calvin Jiang', author_email='jianghuachinacom@163.com', license='MIT', classifiers=[ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Topic :: Software Development :: Build Tools', 'License :: OSI Approved :: MIT License', 'Programming Language :: Python :: 2.6', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', ], keywords='hive client python', packages=['hive'], )
name为项目名称,和顶层目录名称一致;
version是项目当前的版本,1.0.0.dev1表示1.0.0版,目前还处于开发阶段
description是包的简单描述,这个包是做什么的
url为项目访问地址,我的项目放在github上。
author为项目开发人员名称
author_email为项目开发人员联系邮件
license为本项目遵循的授权许可
classifiers有很多设置,具体内容可以参考官方文档
keywords是本项目的关键词,理解为标签
packages是本项目包含哪些包,我这里只有一个名词为hive的包
2.项目打包
cd hive-executor-py python setup.py bdist_wheel
进入项目目录,执行项目打包命令,之后在顶层项目目录下将产生几个新的目录:
2.png
3. 注册PyPI帐号
如果没有账号需要先在PyPI网站上注册账号。
在您的本机用户下创建~/.pypirc文件,此文件中配置PyPI访问地址和账号。下面是我的.pypirc文件内容请根据自己的账号来修改。
[distutils] index-servers = pypi [pypi] username:jianghua
4. 注册您的项目
python setup.py register
通过上面.pypirc文件中的配置,在PyPI上注册项目信息,成功注册之后,可以在PyPI上看到自己的项目名称:
3.png
5. 上传项目
python setup.py sdist bdist_wheel upload
通过上面.pypirc文件中的配置,上传打包文件,可以在PyPI上看到上传的项目文件:
4.png
作者:Jogging
链接:https://www.jianshu.com/p/f3a5392b8e25