python如何打包_如何打包发布Python项目,让全世界的人都能用

大家在使用python时,肯定会需要安装各种各样的依赖包,常用的安装方法就是使用pip了。

比如安装numpy的简单命令为:

pip install numpy你是否想过这些包是怎么被安装的呢?又是如何制作的呢?或者说自己开发了一个很棒的东西想要分享给别人该怎么办呢?

好吧,不卖关子了,下面就从头到尾捋一捋如何打包自己的项目并发布到网上去,如此一来,别人就可以使用pip来安装自己开发的包了,想想都好激动。

以一个简单的项目作为例子,这个项目是非常不错的log打印,称为nicelogger,带有各种色彩打印log到控制台,比如error使用红色,info使用蓝色等等,

话说自从用了nicelogger,再也没有用过print了。

项目配置

目录结构如下图所示:

项目很简单,只有两个py文件,其中nicelogger.py是主要模块,所有功能代码都在里面,其实就是一个类ColorLogger;还有一个setup.py文件,这个文件用于配置发布包的meta 信息,比如包的名字,版本号,项目描述,作者,作者链接,作者邮箱等等,还有一项很重要的配置那就是python模块名,有些还需要配置程序入口和资源文件的路径,比如要编译成exe可执行文件的话,不过这个项目不需要就不唠叨了。

对于这个项目的setup.py配置如下:

from setuptools import setup, find_packages

from codecs import open

from os import path

here = path.abspath(path.dirname(__file__))

setup(

name='nicelogger',

version='2.0',

description='Customize New Features Based-on Colored Logger',

long_description=str(open(path.join(here, "Learning tracker")).read()),

# The project's main homepage.

url='opconty - Overview',

# Author details

author='gaolijun',

author_email='gao.gzhou@gmail.com',

# Choose your license

license='MIT',

classifiers=[

'Development Status :: 4 - Beta',

'Intended Audience :: Developers',

'Topic :: System :: Logging',

'License :: OSI Approved :: MIT License',

'Programming Language :: Python :: 3',

'Programming Language :: Python :: 3.3',

'Programming Language :: Python :: 3.4',

'Programming Language :: Python :: 3.5',

'Programming Language :: Python :: 3.6',

'Programming Language :: Python :: 3.7',

'Programming Language :: Python :: 3.8',

],

py_modules=["nicelogger"],

install_requires=['colorama']

)

特别留意一下py_modules配置项,nicelogger是模块名称,后面我们通过pip安装nicelogger之后就可以通过nicelogger导入该模块里面的类ColorLogger了。

其中README.md文件就是一些项目描述,使用markdown书写,可以解析markdown的语法,排版比较好看,或者简单文本也行就是难看些。

2. 打包

进入到与setup.py同级目录,打开终端,因为我们只需要创建wheel文件,输入

python setup.py bdist_wheel

会在当前目录生成三个文件夹,build、dist和nicelogger.egg-info,在dist下有一个nicelogger-2.0-py3-none-any.whl文件,这就是需要的。

如果还需要发布源代码,那在上述命令中加入bdist就好了,即`python setup.py sdist bdist_wheel`,会在dist下生成源码的压缩tar包。

3. 发布

发布包需要先在pypi(Python Package Index)网站注册账号,将自己的wheel文件上传到pypi网站,任何人都可以通过pip install进行安装。

上传包有很多方法,这里使用命令行的方式,需要安装twine,使用

pip install twine

即可安装,然后在与dist同级目录的终端中输入:

twine upload dist/*

即将dist下的所有文件上传,会出现输入用户名和密码的提示语,然后输入刚刚在pypi注册的用户名和密码就可以了。上传成功之后登录pypi网站可以看到自己的所有包。

4. 安装及验证

安装很简单,以这个项目为例,那就是

pip install nicelogger

除了在pypi网站查看包的信息外,还可以通过pip命令查看,如

pip show nicelogger

安装好了之后可以新建一个Python文件,或者直接在ipython终端中验证:

from nicelogger import ColorLogger

logger = ColorLogger()

logger.success('ok')

好了,从现在开始你也可以分享自己的项目让全世界的python爱好者一起使用,赶紧试试吧。

思想因文字而得以传递,知识因分享而绚烂缤纷

如何打包发布Python项目,让全世界的人都能用​mp.weixin.qq.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值