Python项目打包和发布(内附python教程分享)

通常我们开发一个Python开源项目,想在多台服务器上部署,或者贡献项目为其他开发者来使用,最好的方式是发布到PyPI(Python包管理平台) ,之后可以通过pip install package方式安装包,下面将介绍最基本的Python项目打包和发布的方法,其实目前有很多方法,您还可以通过访问官方打包文档来深入理解: PyPI打包和分发文档。

1.介绍Python项目目录结构


Python项目打包和发布(内附python教程分享)

1.png

上面是我之前开发的一个项目,这个项目对hive cli进行了简单的封装,简化以后其他项目有关hive命令开发工作,具体内容这里不多说了,感兴趣的朋友可以去了解一下,提一些宝贵意见。(这个项目放在github)。

项目最顶层的目录为“hive-executor-py”,其中与打包最相关的文件是setup.py,下面附上setup.py里面的内容:

#!/usr/bin/env python

from 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='[email protected]',

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

进入项目目录,执行项目打包命令,之后在顶层项目目录下将产生几个新的目录:

Python项目打包和发布(内附python教程分享)

2.png

3. 注册PyPI帐号


如果没有账号需要先在PyPI网站上注册账号。

在您的本机用户下创建~/.pypirc文件,此文件中配置PyPI访问地址和账号。下面是我的.pypirc文件内容请根据自己的账号来修改。

[distutils]
index-servers = pypi
[pypi]
username:jianghua

4. 注册您的项目


python setup.py register

通过上面.pypirc文件中的配置,在PyPI上注册项目信息,成功注册之后,可以在PyPI上看到自己的项目名称:

Python项目打包和发布(内附python教程分享)

3.png

5. 上传项目


python setup.py sdist bdist_wheel upload

通过上面.pypirc文件中的配置,上传打包文件,可以在PyPI上看到上传的项目文件:

Python项目打包和发布(内附python教程分享)

最后,想学习Python的小伙伴们!

请关注+私信回复:“学习”就可以拿到一份我为大家准备的Python学习资料!

Python项目打包和发布(内附python教程分享)

pytyhon学习资料

Python项目打包和发布(内附python教程分享)

python学习资料

相关推荐