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

总结

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

相关文章

  • 解决Tensorboard可视化错误:不显示数据 No scalar data was found

    解决Tensorboard可视化错误:不显示数据 No scalar data was found

    今天小编就为大家分享一篇解决Tensorboard可视化错误:不显示数据 No scalar data was found,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python数据分析之DataFrame内存优化

    python数据分析之DataFrame内存优化

    pandas处理几百兆的dataframe是没有问题的,但是我们在处理几个G甚至更大的数据时,就会特别占用内存,对内存小的用户特别不好,所以对数据进行压缩是很有必要的,本文就介绍了python DataFrame内存优化,感兴趣的可以了解一下
    2021-07-07
  • Python实现决策树C4.5算法的示例

    Python实现决策树C4.5算法的示例

    本篇文章主要介绍了Python实现决策树C4.5算法的示例,详解的介绍了决策树C4.5算法的原理和实现代码,非常具有实用价值,需要的朋友可以参考下
    2018-05-05
  • python 函数传参之传值还是传引用的分析

    python 函数传参之传值还是传引用的分析

    这篇文章主要介绍了python 函数传参之传值还是传引用的分析,需要的朋友可以参考下
    2017-09-09
  • Python使用xlrd模块操作Excel数据导入的方法

    Python使用xlrd模块操作Excel数据导入的方法

    这篇文章主要介绍了Python使用xlrd模块操作Excel数据导入的方法,涉及Python操作xlrd模块的技巧,需要的朋友可以参考下
    2015-05-05
  • 使用Python建立RNN实现二进制加法的示例代码

    使用Python建立RNN实现二进制加法的示例代码

    这篇文章主要介绍了使用Python建立RNN实现二进制加法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 掌握Python property装饰器巧妙管理类的属性

    掌握Python property装饰器巧妙管理类的属性

    property 是Python中的一个内置装饰器,它用于创建属性并允许开发者定义特定的操作,例如获取(getter)、设置(setter)和删除(deleter)属性值的方法,本文为大家讲解如何利用这种特性使我们能更好地管理类的属性
    2024-01-01
  • 基于Django框架的rest_framework的身份验证和权限解析

    基于Django框架的rest_framework的身份验证和权限解析

    Django 是一个基于 Python 的 Web 框架,可让您快速创建高效的 Web 应用程序,这篇文章主要介绍了基于Django框架的rest_framework的身份验证和权限解析,需要的朋友可以参考下
    2023-05-05
  • python 实现打印扫描效果详情

    python 实现打印扫描效果详情

    这篇文章主要介绍了python 实现打印扫描效果详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • pandas通过字典生成dataframe的方法步骤

    pandas通过字典生成dataframe的方法步骤

    这篇文章主要介绍了pandas通过字典生成dataframe的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07

最新评论