Python , Github 上传仓库的代码有办法自动同步到 pypi 吗 ?

2020 年 2 月 6 日
 black11black

如题,我觉得 pypi 是个挺好的包管理器,每次新换到一台机器上不用安装任何其他工具都能直接拉取想要的代码,都感觉很爽。

最近遇到一个问题是我更新 repo 肯定是在 github 做的,但代码每次都需要手动再同步到 pypi 一份,非常麻烦,除非我不想保持最新了。请问各位带佬有什么方案能自动让 gh 同步到 pypi 吗 ?感觉上应该是需要一些自动测试服务自动运行一些上传代码?没了解过这方面,求问。

如果能每次 commit 都自动更新版本号就更好了...

4510 次点击
所在节点    Python
9 条回复
malusama
2020 年 2 月 6 日
actions
locoz
2020 年 2 月 6 日
各种 cicd 工具了解一下,就是个自动发布的事嘛
black11black
2020 年 2 月 7 日
@locoz
感谢,研究了一下 travis 感觉很好用

顺便,有办法能自动更新版本号吗?
locoz
2020 年 2 月 7 日
@black11black #3 一般会有个自增的环境变量,或者是可以自己写脚本实现自增
msg7086
2020 年 2 月 7 日
版本号可以通过计算历史提交数来实现。

参考: https://github.com/msg7086/x265-Yuuki-Asuna/blob/Yuuki/source/version.rb
maguowei
2020 年 2 月 7 日
tikazyq
2020 年 2 月 7 日
actions
ihciah
2020 年 2 月 7 日
版本可以用 git tag 管理。
yucongo
2020 年 2 月 9 日
- name: Build Python package
run: |
pip install wheel twine; python setup.py sdist bdist_wheel
- name: Twine check
run: |
twine check dist/*
- name: Publish to PyPI
env:
TWINE_USERNAME: ${{ secrets.PYPI_USER }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
twine upload dist/* --skip-existing

github action workflow 供你参考

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/642625

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX