python 打包_python打包发布及更新pypi流程

本文详述了如何将Python项目打包并发布到PyPI平台,包括安装打包工具、创建setup.py、注册PYPI账号、打包检查、上传流程等步骤。同时,还介绍了如何更新已发布的包以及上传非Python文件的方法。
摘要由CSDN通过智能技术生成

参考文档

  1. Python 快速打包发布软件PyPi上

  2. 包含setup.py的非Python文件

  3. 五步法更新pypi包体

发布

1. 安装打包依赖工具

pip install setuptools

2. 安装上传工具

pip install twine

3. 注册PYPI官网个人用户

5e8ba3ed19bfbec81d0bca5581180921.png

4. 在和项目同级目录创建setup.py

af0723f7c66747a04bf64d6f4b23fe18.png

代码如下:

from setuptools import setup, find_packagesGFICLEE_VERSION = '2020.8.4.6'setup(    name='cfastproject',    version=GFICLEE_VERSION,    packages=find_packages(),    include_package_data=True,    entry_points={        "console_scripts": ['cfastproject = fastproject.main:main']    },    install_requires=[        "django", "fastapi", "gcp_mixed_logging", "asgi_request_id",        "uvicorn", "google-cloud-secret-manager", "pandas",        "peewee_async", "aiopg", "aiohttp"    ],    url='https://github.com/ChuXiaoYi/fastproject',    license='GNU General Public License v3.0',    author='Xiaoyi Chu',    author_email='895706056@qq.com',    description='More convenient to create fastapi project')

setup参数说明:

name项目名称不可重复
version项目版本保证每次发布都是版本都是唯一的
packages项目本身的代码
include_package_data是否包括非包文件
entry_points项目主入口安装成功后,在命令行输入cfastproject 就相当于执行了fastproject.main.py中的main()
install_requires项目依赖包
url项目地址
licenselicense
author项目作者
author_email项目邮箱
description项目描述

5. 打包前检查

通过这一步可以检查setup.py中是否有错误,例如版本号错误

python setup.py check

6. 打包

python setup.py sdist

7. 发布前准备

  1. 在home目录下创建.pypirc 文件,写入pypi账户密码,这样每次上传就不需要在重复输入了

[distutils]index-servers =    pypi[pypi]username:usernamepassword:password
  1. 本地测试

python setup.py install

安装成功后,可以通过上面定义的命令执行一次,如果成功证明安装成功,可以继续打包了

8. 注册

上传前需要注册一下包的名称,因为这个名称必须独一无二,如被占用则注册不通过。

python setup.py register

9. 检查是否符合pypi要求

twine check dist/**_.tar.gz

a23ddf7a2095b8f3fed02f248a86330c.png

10. 上传

twine upload dist/**_.tar.gz

上传成功后,到官网上搜索看看包有木有吧~

4e6759ec42fbce180acf2765dbb83aab.png

更新

1. 更新代码,并修改setup.py中的版本号

2. 更新包

python setup.py sdist bdist

3. 上传

twine upload dist/**_.tar.gz

4. 更新包

pip install --upgrade cfastproject

关于上传非包文件

setup.py同级目录下创建MANIFEST.in文件,里面的内容是需要上传的文件,例如,如果要包括项目下的所有文件:

recursive-include fastproject *

为了将这些文件在安装时复制到site-packages中的包文件夹,需要将setup中的include_package_data设置为True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值