开发了控制台实用程序后,您决定将其发布在PyPI上。 好吧,真的,有什么比通过pip install使其更好的呢? 仔细搜索所需的内容,您可能会发现我发现的关于该主题的唯一一则帖子 ,不仅是从2014年开始,还要求您创建一堆文件夹和文件来处理完全不必要的(您)事情。
如何在2019年解决这个问题而不会太头疼? 我已经问过这个问题,因此,在阅读了大量文档之后,我为您创建了本教程。 这是分步指南。
1.在PyPI上创建一个帐户( 注册链接 )
2.创建应用程序的入口点(例如,具有以下内容的entry.py文件)
def main(): print("It's alive!")
3.装诗
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python source $HOME/.poetry/env
(您可以以其他方式安装 诗歌 ,例如pip install --user poetry-大约翻译。)
4.创建环境
cd myproject # , poetry init
5.配置控制台命令(为此, 将以下行添加到出现的pyproject.toml文件中)
[tool.poetry.scripts] APPLICATION-NAME = 'entry:main'
应用名称 必须更改为console命令的名称。
6.发布实用程序! (使用步骤1中的用户名和密码)
poetry publish --username PYPI_USERNAME --password PYPI_PASS --build
做完了! 现在,其他人仅需要两个命令即可安装:
$ sudo pip install PROJECT-NAME $ APPLICATION-NAME
其中PROJECT-NAME是您在第4步中为项目指定的名称, APPLICATION-NAME 是第5步中团队的名称。
版本更新
每当您想更新模块时,只需在pyproject.toml文件中更改版本号即可 :
version = "0.1.0"
并重复步骤6:
poetry publish --username PYPI_USERNAME --password PYPI_PASS --build
奖励:自定义Travis以自动发布
将以下行添加到.travis.yml文件中
language: python dist: xenial before_install: - curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python - source $HOME/.poetry/env install: - poetry install script: - poetry build deploy: - provider: script skip_cleanup: true script: poetry publish --username $PYPI_USER --password $PYPI_PASS on: branch: master python: '3.7' tags: true
并将环境变量PYPI_USER和PYPI_PASS设置为travis-ci.com 。 之后,您可以使用以下命令发布软件包:
git tag -a v1.2 # Replace version number with yours git push --tags