Python发布开源项目到 PyPi

今天突发奇想,整理一下发布个人开源项目到Pypi https://pypi.org/
本篇示例实现功能:在命令行输入时间戳,输出其对应的日期
eg:
input: timestamp 1599995476
output: 当前时间是: 2020-09-13 19:11:16

操作步骤

目录结构如下

timestamp
├── readme.md
├── setup.py
├── timestamp
│   ├── __init__.py
│   └── timestamp.py
  1. 当然是编写自己的逻辑代码啦!!!逻辑代码在timestamp.py.
import time
import datetime
import argparse
import sys


def strftime(timestamp, format_string='%Y-%m-%d %H:%M:%S'):
    return time.strftime(format_string, time.localtime(timestamp))


# 解析命令行参数
def get_argparse():
    parser = argparse.ArgumentParser(description='convert timestamp into time')
    parser.add_argument('v', help='timestamp', type=int)
    
    return parser.parse_args()


def main():
    parser = get_argparse()
    _timestamp = parser.v
    if _timestamp:
        print(f'当前时间是: {strftime(_timestamp)}')
    

if __name__ == "__main__":
    main()
    
  1. 使用 setuptools打包源码。

这里必须要有setup.py

#!/usr/bin/env python
# coding: utf-8
from setuptools import setup, find_packages

setup(
    name='timestamp-snail',  # 项目名称
    version='1.0.0',  # 版本
    author='Junlin Yang',  # 作者
    author_email='snail.yang@foxmail.com',  # 作者联系方式
    url='https://github.com/champion-yang/xxx',  # 项目的主页
    description='在终端对日期和时间进行相关操作',  # 项目简短介绍
    packages=find_packages(),  # 项目代码
    entry_points={  # 命令行程序入口
        'console_scripts': [
            'timestamp=timestamp:main',
        ]
    }
)

setup.py文件编写ok之后terminal 执行sudo python3 setup.py install
这样就把包timestamp安装在本地环境,可以执行pip freeze 进行查看
此时查看目录树:

├── build
│   ├── bdist.macosx-10.14-x86_64
│   └── lib
│       └── timestamp
│           ├── __init__.py
│           └── timestamp.py
├── dist
│   └── timestamp_snail-1.0.0-py3.7.egg
├── readme.md
├── setup.py
├── timestamp
│   ├── __init__.py
│   └── timestamp.py
└── timestamp_snail.egg-info
    ├── PKG-INFO
    ├── SOURCES.txt
    ├── dependency_links.txt
    ├── entry_points.txt
    └── top_level.txt

dist/timestamp_snail-1.0.0-py3.7.egg文件即为生成的发布包文件

  1. 使用twine 上传到 PyPi
  • 当然是注册账号咯。
  • HOME下创建文件.pypirc, 写入内容如下
mac@MacdeMBP ~ % cat .pypirc 
[pypi]
username:pypi账号
password:pypi密码
  • 安装一个小工具,twine,将软件包发布到PyPi
    pip install twine -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 然后进入当前项目执行twine dist/*

后记

至此一切都ok了,访问PyPi官网,可以进行查看,也可以下载了嗷!nice
在这里插入图片描述
最近发现了老齐的一种方式:
点我点我点我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值