手记

Python项目打包和发布

通常我们开发一个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


0人推荐
随时随地看视频
慕课网APP