Tendo desenvolvido um utilitário de console, você decide publicá-lo no PyPI. Bem, realmente, o que poderia ser melhor do que disponibilizá-lo através da instalação do pip ? Pesquisando o que é necessário para isso, você pode se deparar com a única postagem que encontrei sobre um tópico que, não apenas a partir de 2014, também exige que você crie um monte de pastas e arquivos para coisas completamente desnecessárias.
Como resolver esse problema sem muita dor de cabeça em 2019? Eu já fiz essa pergunta e, portanto, depois de ler uma tonelada de documentação, criei este tutorial para você. Aqui está um guia passo a passo.
1. Crie uma conta no PyPI ( link de registro )
2. Crie um ponto de entrada para o aplicativo (por exemplo, um arquivo entry.py com o seguinte conteúdo)
def main(): print("It's alive!")
3. Instale poesia
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python source $HOME/.poetry/env
(Você pode instalar a poesia de maneira diferente, por exemplo, pip install --user poetry - approx. Transl.)
4. Crie um ambiente
cd myproject # , poetry init
5. Configure o comando do console (para fazer isso, adicione as seguintes linhas ao arquivo pyproject.toml que aparece )
[tool.poetry.scripts] APPLICATION-NAME = 'entry:main'
NOME DO APLICATIVO deve ser alterado para o nome do comando do console.
6. Publique o utilitário! (use o nome de usuário e a senha da etapa 1)
poetry publish --username PYPI_USERNAME --password PYPI_PASS --build
Feito! Agora a outra pessoa precisa de apenas dois comandos para instalar:
$ sudo pip install PROJECT-NAME $ APPLICATION-NAME
Onde NOME DO PROJETO é o nome que você deu ao projeto na etapa 4 e NOME DO APLICATIVO é o nome da equipe da etapa 5.
Atualização de versão
Sempre que você quiser atualizar um módulo, basta alterar o número da versão no arquivo pyproject.toml :
version = "0.1.0"
E repita a etapa 6:
poetry publish --username PYPI_USERNAME --password PYPI_PASS --build
Bônus: personalize o Travis para publicação automática
Adicione as seguintes linhas ao arquivo .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
E defina as variáveis de ambiente PYPI_USER e PYPI_PASS para travis-ci.com . Depois disso, você pode publicar o pacote usando os comandos:
git tag -a v1.2 # Replace version number with yours git push --tags