python打包发布pypi及更新全部流程

 更新时间:2024年03月26日 10:22:22   作者:一只路过的小码农cxy  
这篇文章主要介绍了python打包发布pypi及更新全部流程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

发布

1. 安装打包依赖工具

pip install setuptools

2. 安装上传工具

pip install twine

3. 注册PYPI官网个人用户

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

代码如下:

from setuptools import setup, find_packages

GFICLEE_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. 发布前准备

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

[distutils]
index-servers =
    pypi

[pypi]
username:username
password:password

本地测试

python setup.py install

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

8. 注册

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

python setup.py register

9. 检查是否符合pypi要求

twine check dist/**_.tar.gz

10. 上传

twine upload dist/**_.tar.gz

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

更新

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python利用Matplotlib绘制图表详解

    Python利用Matplotlib绘制图表详解

    Matplotlib是Python中最受欢迎的数据可视化软件包之一,支持跨平台运行,它是Python常用的 2D 绘图库。本文将介绍如何通过Matplotlib绘制常用的图表
    2022-01-01
  • python实现跳表SkipList的示例代码

    python实现跳表SkipList的示例代码

    这篇文章主要介绍了python实现跳表SkipList的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • pytorch下大型数据集(大型图片)的导入方式

    pytorch下大型数据集(大型图片)的导入方式

    今天小编就为大家分享一篇pytorch下大型数据集(大型图片)的导入方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 使用Python自动化Microsoft Excel和Word的操作方法

    使用Python自动化Microsoft Excel和Word的操作方法

    这篇文章主要介绍了使用Python自动化Microsoft Excel和Word,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Python实现视频下载功能

    Python实现视频下载功能

    最近一两年短视频业务风生水起,各个视频网站都有各自特色的短视频内容。如果有一个程序可以把各大视频网站的热门用户最新发布的视频下载下来,不仅方便了观看,还可以将没有版权的视频发布在个人社交网站上,增加自己的人气,多好呀
    2017-03-03
  • Python常见的pandas用法demo示例

    Python常见的pandas用法demo示例

    这篇文章主要介绍了Python常见的pandas用法,结合实例形式总结分析了Python使用pandas模块的常见操作技巧与相关注意事项,需要的朋友可以参考下
    2019-03-03
  • python conda操作方法

    python conda操作方法

    这篇文章主要介绍了python conda操作方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • pytest官方文档解读fixtures调用fixtures及fixture复用性

    pytest官方文档解读fixtures调用fixtures及fixture复用性

    这篇文章主要为大家介绍了pytest官方文档解读fixtures调用fixtures及fixture复用性,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • M1芯片安装python3.9.1的实现

    M1芯片安装python3.9.1的实现

    这篇文章主要介绍了M1芯片安装python3.9.1的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python学习笔记之函数的定义和作用域实例详解

    Python学习笔记之函数的定义和作用域实例详解

    这篇文章主要介绍了Python学习笔记之函数的定义和作用域,结合实例形式详细分析了Python函数的定义、参数使用、变量作用域相关问题与解决方法,需要的朋友可以参考下
    2019-08-08

最新评论