2019年02月23日
阅读: 6661
Python发布自己的包到pypi上
友情提醒:本文最后更新于 2128 天前,文中所描述的信息可能已发生改变,请谨慎使用。
作为一个Python程序员,我们都用过pip install xxx
的命令来安装自己所需要的Python包,那么如何发布自己的Python包到pypi上,共享给所有人呢?下面我们来介绍一下方法。
先解释下PyPI,PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。
首先你要有一个自己的项目,这里不做创建项目的介绍,毕竟我也不知道你想写个什么包。
第一步:先创建一个pypi账户 https://pypi.python.org/pypi (记得要激活邮箱哦)
第二步:在自己的用户目录下新建一个空白文件命名为.pypirc
,内容如下:
[distutils]
index-servers=pypi
[pypi]
repository = https://upload.pypi.org/legacy/
username = <username>
password = <password>
用户名和密码就是上一步骤所创建的,直接明文输入。如果你觉得明文密码不安全也可以留空,在后面的上传过程中会提示你手动输入。
第三步:在你的项目目录下创建一个setup.py
文件,文件内容如下
# -*- coding: utf-8 -*-
from setuptools import setup
setup(
name='下载的模块名',
license='Apache License 2.0',
version='包的版本',
packages=['你的项目名字'],
zip_safe=False,
include_package_data=True,
url='一个地址,比如项目的github下载地址',
author='作者',
author_email='作者邮箱',
description='项目描述',
install_requires=['django', 'jieba'], # 所依赖的包
)
第四步:在项目目录下执行
python setup.py check
检查语法是否符合规范
第五步:
python setup.py sdist
将项目打包成*.tar.gz格式的压缩文件
第六步:
python setup.py upload
将包发布到pypi上,执行完上述步骤你就可以在自己的pypi上看到打好的包了
注:现在官方已经不建议使用python setup.py upload
来上传包,建议使用twine,通过pip install twine
来安装,然后使用
twine upload dist/*
来上传
上传前的注意事项
- 假设你的包已经开发完成,并且根目录必须要有一个
setup.py
。 - 最好有一个
README.rst
用来描述你的轮子,虽然这不是必须的,但文档就像内裤,你最好还是要有的。 - 如果你需要打包代码文件夹以外的文件,比如版权信息等等,你还需要写一个
MANIFEST.in
。
关于setup.py
的补充说明
name
必须是唯一的,允许使用数字和字母,推荐使用中划线(-)而不是下划线(_),因为pip安装只支持中划线,比如pip install my-pkg
,为了不给自己找麻烦请听话。version
推荐遵循语义化版本号规则,简单说就像这样:1.2.0- 作者姓名和邮箱地址不一定要和你的PyPI账号一致。
相关链接:
https://segmentfault.com/a/1190000008663126
上一篇:Python代码性能优化技巧
下一篇:Django中使用Q构建复杂查询