Python发布开源项目到 PyPi
今天突发奇想,整理一下发布个人开源项目到Pypi https://pypi.org/本篇示例实现功能:在命令行输入时间戳,输出其对应的日期eg:input:timestamp 1599995476output: 当前时间是: 2020-09-13 19:11:16操作步骤目录结构如下timestamp├── readme.md├── setup.py├── timestamp│├── __init
·
今天突发奇想,整理一下发布个人开源项目到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
- 当然是编写自己的逻辑代码啦!!!逻辑代码在
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()
- 使用
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
文件即为生成的发布包文件
- 使用
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
最近发现了老齐的一种方式:
点我点我点我
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)