Pypi项目包发布
前言
用过python的人肯定对pip安装不陌生,pip安装的包的来源都是在Pypi上。为了能随时能使用自己的包,所以尝试一下将自己的包发布到Pypi上。
步骤
一、准备项目
一、创建目录结构

二、准备文件
1、README.rst
关于项目的描述文件,一般包含怎样安装项目,怎样使用项目等。
2、LICENSE.txt
创建许可证,上传到Python Package Index的每个包都包含许可证,开源License,如MIT,Apache license 2.0等。可参考 https://choosealicense.com/
3、setup.py
是setuptools的构建脚本,包括定义包名、版本、包含哪些代码模块、依赖哪些库、在哪些Python版本上运行等
参考链接:https://packaging.python.org/tutorials/packaging-projects/
4、项目文件
根据自己的需求,编写核心代码,包名要和setup.py配置保持一致!


5、在上传之前,可以先通过命令校验 setup 写错了没有:
$ python setup.py check
running check
如果没有输出任何错误,则说明格式正确。
三、打包
打tar.gz格式的包:
python setup.py sdistbuild

四、注册上传
链接:https://pypi.org/account/register/

安装上传包环境
Pip install twine

发布包到PyPi,输入创建的用户名和密码
twine upload dist/*

五、检查

安装使用
pip install ***(包名)

卸载
pip uninstall ***(包名)
六、迭代更新
每次更新都需要修改不同的版本号才能发布
然后重复上面的命令
python setup.py sdist
twine upload dist/*

检查

Pypi项目包发布的更多相关文章
- 实战教程:如何将自己的Python包发布到PyPI上
1. PyPi的用途 Python中我们经常会用到第三方的包,默认情况下,用到的第三方工具包基本都是从Pypi.org里面下载. 我们举个栗子: 如果你希望用Python实现一个金融量化分析工具,目前 ...
- Tomcat下使用war包发布项目
Tomcat下使用war包发布项目 转自<Tomcat下使用war包发布项目 >,地址:http://blog.csdn.net/wy818/article/details/7240294 ...
- eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式。 后者无法自动编译java 成class文件到classes包下。
eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式. 后者无法自动编译java 成class文件到classes包下. 建议使用run as - run ...
- 基于node的前端项目代码包发布至nexus
目录 目录... 3 1. 前言... 1 2. 配置... 1 2.1. 配置angular.json文件... 1 2.2. 配置package.json文件... 1 2.3. 复制git地址. ...
- [Python] 项目打包发布
一.setuptools - 官方文档: Building and Distributing Packages with Setuptools- 中文文档: Python包管理工具setuptools ...
- Linux项目部署发布
Linux项目部署发布 1.部署环境准备,准备python3和虚拟环境解释器,virtualenvwrapper pip3 install -i https://pypi.douban.com/sim ...
- Python3如何上传自己的PyPI项目
有过一定的 Python 经验的开发者都知道,当引入第三方包时,我们常常会使用 pip install 命令来下载并导入包. 那么,如何写一个自己的包,上传到 PyPI 呢,其他开发者也可以通过 pi ...
- Axis2使war包发布为WebService
首先 吐槽下 Axis2的Eclipse插件.不好用,而且局限性大.并且添加包的过程...会及其痛苦.(懂的自然懂) 而且 发布的aar文件,不能解压缩重新打包再压缩...尝试过添加 jar包,但报错 ...
- eclipse项目自动发布到tomcat目录,缺文件。
eclipse项目自动发布到tomcat目录,缺文件. 解决方案: 项目--Properties-->Deployment Assembly-->Add--> Folder Add- ...
随机推荐
- laravel 验证码 auth方式登录 中间件判断session是否存在
首先下载laravel的插件 composer下载 实现验证码 composer require mews/captcha 在config/app.php进行配置 'providers' ...
- CodeForces 1426F Number of Subsequences
题意 给定一个长度为 \(n\) 的串,只包含 abc 和通配符.通配符可以替换 abc 的一个.求所有得到的字符串中子序列 abc 出现的次数,对 \(10^9+7\) 取模. \(\texttt{ ...
- Java学习的第七天
1.今天学了数组 数组名称.length是数组的长度. 数组打印 二维数组: 多维数组同二维数组类似. 最大值最小值算法. 2.在输入过程中的 定义 int 名=con.nextInt();当时不懂. ...
- Socket创建简单服务器和客户端程序
使用Socket编程创建简单服务器和客户端 要知道的 Socket-AddressFamily, SocketType, ProtocolType https://blog.csdn.net/weix ...
- 《Web接口开发与自动化测试》学习笔记(三)
一.认证系统 使用django本身自带的认证系统 1.登录admin后台 1. 先建立一个管理员用户: > python manage.py creatsuperuser 输入用户名.邮箱和密码 ...
- Java实现酒店客房管理系统
这篇文章主要为大家详细介绍了Java实现酒店客房管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Java实现酒店客房管理系统的具体代码,供大家参考,具体内容如下 Log ...
- 快速了解阿里微服务热门开源分布式事务框架——Seata
一.Seata 概述 Seata 是 Simple Extensible Autonomous Transaction Architecture 的简写,由 feascar 改名而来. Seata 是 ...
- 论文解读 - MaskGAN:BETTER TEXT GENERATION VIA FILLING IN THE _____
1 简介 文本生成是自然语言处理中一个重要的研究领域,具有广阔的应用前景.当前主流的用来进行文本生成的模型主要是Seq2Seq模型,通常利用maximum likelihood和teacher for ...
- Statistical physics approaches to the complex Earth system(相关系统建模理念方法的摘要)
本文翻译自"Statistical physics approaches to the complex Earth system",其虽然是针对复杂地球系统的统计物理方法的综述,但 ...
- nginx&http 第二章 ngx启动多进程
Nginx服务器使用 master/worker 多进程模式. 主进程(Master process)启动后,会接收和处理外部信号: 主进程启动后通过fork() 函数产生一个或多个子进程(work ...