前言

用过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项目包发布的更多相关文章

  1. 实战教程:如何将自己的Python包发布到PyPI上

    1. PyPi的用途 Python中我们经常会用到第三方的包,默认情况下,用到的第三方工具包基本都是从Pypi.org里面下载. 我们举个栗子: 如果你希望用Python实现一个金融量化分析工具,目前 ...

  2. Tomcat下使用war包发布项目

    Tomcat下使用war包发布项目 转自<Tomcat下使用war包发布项目 >,地址:http://blog.csdn.net/wy818/article/details/7240294 ...

  3. eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式。 后者无法自动编译java 成class文件到classes包下。

    eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式. 后者无法自动编译java 成class文件到classes包下. 建议使用run as  -  run ...

  4. 基于node的前端项目代码包发布至nexus

    目录 目录... 3 1. 前言... 1 2. 配置... 1 2.1. 配置angular.json文件... 1 2.2. 配置package.json文件... 1 2.3. 复制git地址. ...

  5. [Python] 项目打包发布

    一.setuptools - 官方文档: Building and Distributing Packages with Setuptools- 中文文档: Python包管理工具setuptools ...

  6. Linux项目部署发布

    Linux项目部署发布 1.部署环境准备,准备python3和虚拟环境解释器,virtualenvwrapper pip3 install -i https://pypi.douban.com/sim ...

  7. Python3如何上传自己的PyPI项目

    有过一定的 Python 经验的开发者都知道,当引入第三方包时,我们常常会使用 pip install 命令来下载并导入包. 那么,如何写一个自己的包,上传到 PyPI 呢,其他开发者也可以通过 pi ...

  8. Axis2使war包发布为WebService

    首先 吐槽下 Axis2的Eclipse插件.不好用,而且局限性大.并且添加包的过程...会及其痛苦.(懂的自然懂) 而且 发布的aar文件,不能解压缩重新打包再压缩...尝试过添加 jar包,但报错 ...

  9. eclipse项目自动发布到tomcat目录,缺文件。

    eclipse项目自动发布到tomcat目录,缺文件. 解决方案: 项目--Properties-->Deployment Assembly-->Add--> Folder Add- ...

随机推荐

  1. 自动化运维Ansible-01-安装及简单的使用

    实验环境:Centos 7.x Ansible版本:ansible 2.9.13 服务端的操作 1.系统默认的yum仓库中没有找到ansible,这里我们先安装epel源(需要用到CentOS-Bas ...

  2. RestfulApi 学习笔记——简单介绍(一)

    前言 什么是restapi? 直接看:http://www.ruanyifeng.com/blog/2014/05/restful_api.html 阮一峰的blog,即可明白,下面是一些例子,增强理 ...

  3. STM32入门系列-STM32时钟系统,时钟初始化配置函数

    在前面推文的介绍中,我们知道STM32系统复位后首先进入SystemInit函数进行时钟的设置,然后进入主函数main.那么我们就来看下SystemInit()函数到底做了哪些操作,首先打开我们前面使 ...

  4. 解决pl/sql developer中数据库插入数据乱码问题

    最近学习SSM项目开发,用到oracle数据库, 使用管理软件PL/sql developer往数据库表中插入数据时记录乱码.  结果如下: 可以看到中文数据都乱码成了???????问号, 看了网上各 ...

  5. 【kata Daily 190905】What's a Perfect Power anyway?(完美幂)

    原题: A perfect power is a classification of positive integers: In mathematics, a perfect power is a p ...

  6. 【SpringBoot】05.SpringBoot整合Listener的两种方式

    SpringBoot整合Listener的两种方式: 1.通过注解扫描完成Listener组件的注册 创建一个类实现ServletContextListener (具体实现哪个Listener根据情况 ...

  7. Java的图形打印

    1.菱形 复制代码 package Java_Learn.File; public class Main1 { public static void main(String[] args) { pri ...

  8. javascript链式运动框架案例

    javascript链式运动框架 任务描述: 当鼠标移入红色矩形时,该矩形宽度逐渐增加至400px,之后高度逐渐增加至400px; 当鼠标移出红色矩形时,该矩形高度逐渐减小至200px,之后宽度逐渐减 ...

  9. Linux7(centOS7)安装jdk/tomcat/docker/mysql

    jdk的rpm安装.tomcat的解压缩安装.docker的yum安装.mysql的docker安装 下载地址 1.1.jdk下载地址 https://www.oracle.com/java/tech ...

  10. nginx&http 第五章 https non-fd 读写检测

    EPOLL的LT/ET 模式下的读写 从一个非阻塞的socket上调用recv/send函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, ...