【python】如何把你的python包发布出去(pip install)

2023-11-11

python:如何把你的python包发布出去(pip install)

介绍

实际上分为两步

  1. 打包
  2. 发布

我们要发布的网站是https://pypi.org/。也就是用户通过pip install XXX,就可以安装你的包。

1 通过setuptools打包

需要我们编写setup.py

from setuptools import setup, find_packages
import os

VERSION = '0.0.5'
DESCRIPTION = 'Easily cut the video by moviepy'

setup(
    name="cut_video",
    version=VERSION,
    author="chunlei li",
    author_email="li_cl@foxmail.com",
    description=DESCRIPTION,
    long_description_content_type="text/markdown",
    long_description=open('README.md',encoding="UTF8").read(),
    packages=find_packages(),
    install_requires=['moviepy'],
    keywords=['python', 'moviepy', 'cut video'],
    data_files=[('cut_video', ['cut_video/clip_to_erase.json'])],
    entry_points={
    'console_scripts': [
        'cut_video = cut_video.main:main'
    ]
    },
    license="MIT",
    url="https://github.com/chunleili/cut_video",
    scripts=['cut_video/cut_video.py'],
    classifiers= [
        "Development Status :: 3 - Alpha",
        "Intended Audience :: Developers",
        "Programming Language :: Python :: 3",
        "Operating System :: Microsoft :: Windows"
    ]
)

其中含义请见
在这里插入图片描述

然后运行

python setup.py bdist_wheel sdist

意思是调用setuptools的setup这个函数。其中bdist表示二进制的可执行文件格式,wheel是python很常见的打包后的二进制格式(包括pyd即python动态库和元数据)。其中sdist代表源码,打包后为.tar.gz格式。

  • sdist: source distribution
  • bdist: binary distribution

打包后会多出许多东西

例如

*.egg-info
build
dist

等等

几乎都不用管。只需要在意dist目录下面的两个东西即可。那就是我们即将发布的东西。一个是源码,一个是二进制文件。

在这里插入图片描述

2 发布

需要先去 https://pypi.org/ 注册一个账号。

如果没有安装twine,需要先安装一下

pip install twine

最后上传dist目录下面的源码和二进制文件即可

twine upload dist/*

在这里插入图片描述

在这里插入图片描述

参考资料

https://zhuanlan.zhihu.com/p/276461821

https://packaging.python.org/en/latest/tutorials/packaging-projects/

https://youtu.be/tEFkHEKypLI

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【python】如何把你的python包发布出去(pip install) 的相关文章

随机推荐

  • Harbor仓库自启动设置

    1 配置文件 cd etc systemd system vi harbor service Unit Description Harbor After docker service systemd networkd service sys
  • Java搭建区块链

    前言 为了更好的理解区块链的底层实现原理 决定自己动手模拟实现一条区块链 思路分析 通过之前的学习 从文本知识的角度 我们知道 创世区块 记账原理 挖矿原理 工作量证明 共识机制等等区块链的相关知识 创建一条区块链 首先默认构造创世区块 在
  • 【Vue介绍】

    Vue js是一套构建用户界面的渐进式框架 Vue 只关注视图层 采用自底向上增量开发的设计 Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件 Vue js 使用了基于 HTML 的模板语法 允许声明式地将 DO
  • 通过方法引用获取方法名

    在学习Mybatis plus时 可以通过getter方法的方法引用来获取到对应的字段名 LambdaQueryWrapper
  • vue前端下载——jszip压缩和解压,结合file-saver导出图片zip,每20个图片分一个目录

    使用jszip和file saver导出图片 并打包为zip import JSZip from jszip import FileSaver from file saver 一 jszip解压缩 使用loadAsync zipFile为压
  • 侧信道攻击

    1 侧信道攻击简介 侧信道攻击中所指的侧信道信息一般为这几种 声音 温度 功耗 电磁 色彩 等等 这些信息叫做侧信道信息是因为 在加密硬件进行加密的时候 上述的信息只是加密过程中附带产生的一些物理量 这些物理量不会对加密提供任何好处 而天才
  • OSI七层模型、TCP/IP四层模型(超详细!!!!!)

    OSI七层模型 七层模型 亦称OSI Open System Interconnection 参考模型是国际标准化组织 ISO 制定的一个用于计算机或通信系统间互联的标准体系 一般称为OSI参考模型或七层模型 它是一个七层的 抽象的模型体
  • Matlab_day_3

    Matlab矩阵的表示 1 矩阵的建立 1 直接输入法 如 lt
  • AIGC 基础,从VAE到DDPM 原理、代码详解

    作者 王建周 编辑 汽车人 原文链接 https zhuanlan zhihu com p 607117094 点击下方卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 AIGC 技术交流群 一 前言 A
  • yolov5 训练一半中断,如何重连

    resume python train py xxx resume last pt
  • 用ENVI为风云三号VIRR地表温度LST日产品添加头文件(地理信息)

    上一篇文章中我们介绍了怎么用ENVI查看风云三号VIRR地表温度LST日产品的属性 下面介绍怎么用ENVI将该产品从HDF格式转换成ENVI标准格式 2019 1 7更新 有小伙伴说头文件中的datum设置成unknown才可以和他的其他矢
  • 【Google drive】【Colab】引用同级下的.py文件

    ps 1 drive后稍等片刻左侧目录会刷新 2 上传文件格式为 ipynb能够直接打开编辑 py文件只读模式
  • 1-5、Lua函数

    1 5 Lua函数 文章目录 1 5 Lua函数 5 1 多返回值 5 2 可变参数 5 3 命名参数 函数有两种用途 1 完成指定的任务 这种情况下函数作为调用语句使用 2 计算并返回值 这种情况下函数作为赋值语句的表达式使用 语法 fu
  • ffmpeg批量转换ape为mp3

    1 新建一个txt文件 并复制如下代码进入 然后保存 echo off title cd d dp0 for a in ape do ffmpeg i sa y acodec libmp3lame aq 0 na mp3 pause 2 把
  • 批量重命名:删除文件名相同的部分或指定的部分

    本代码提供两个函数 1 用于批量重命名文件 重命名时 删除 路径 下的文件名中含有 重复名 的部分 重命名删除同义名 路径 重复名 例如 删除 Image001 png Image002 png Image003 png 中的 Image
  • [Python人工智能] 六.神经网络的评价指标、特征标准化和特征选择

    从本系列文章开始 作者正式开始研究Python深度学习 神经网络及人工智能相关知识 前五篇文章讲解了神经网络基础概念 Theano库的安装过程及基础用法 theano实现回归神经网络 theano实现分类神经网络 theano正规化处理 这
  • DS1302时钟模块

    DS1302结构原理图 DS1302涓流充电计时芯片实时时钟 日历和31字节的静态RAM 通过IO口与微机处理器通讯 该实时时钟 日历提供年月日和时分秒星期 还具备月份闰平年自动校正 其信息与外部的传输由CE I O和SCLk 串行时钟 决
  • 数据库聚合函数

    1 常用函数 常用函数这里就不过多的阐述和演示 大家感兴趣的话 可以去官网看 官网地址 MySQL Developer Zone 我们主要讲聚合函数 2 聚合函数 聚合函数是我们经常使用的函数 常用聚合函数名称 描述 1 count 计数
  • MySQL从安装到精通(多表)

    目录 1 创建练习环境 1 1创建一个部门表 1 2创建一个员工表 2 多表查询的分类 2 1mysql 表子查询 2 1 1什么是子查询 subquery sql 2 1 2 单行子查询 2 1 3多行子查询 2 1 2 多列子查询 2
  • 【python】如何把你的python包发布出去(pip install)

    python 如何把你的python包发布出去 pip install 介绍 实际上分为两步 打包 发布 我们要发布的网站是https pypi org 也就是用户通过pip install XXX 就可以安装你的包 1 通过setupto