Après avoir développé un utilitaire de console, vous décidez de le publier sur PyPI. Eh bien, vraiment, quoi de mieux que de le rendre disponible via l' installation de pip ? Googler ce qui est nécessaire pour cela, vous pourriez tomber sur le seul message que j'ai trouvé sur un sujet qui, non seulement depuis 2014, vous oblige également à créer un tas de dossiers et de fichiers pour des choses (vous) complètement inutiles.
Comment résoudre ce problème sans trop de maux de tête en 2019? J'ai déjà posé cette question et donc, après avoir lu une tonne de documentation, j'ai créé ce tutoriel pour vous. Voici un guide étape par étape.
1. Créez un compte sur PyPI ( lien d'inscription )
2. Créez un point d'entrée vers l'application (par exemple, un fichier entry.py avec le contenu suivant)
def main(): print("It's alive!")
3. Installez la poésie
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python source $HOME/.poetry/env
(Vous pouvez installer la poésie différemment, par exemple, pip install - user poésie - env. Trad.)
4. Créez un environnement
cd myproject # , poetry init
5. Configurez la commande de console (pour cela, ajoutez les lignes suivantes au fichier pyproject.toml qui apparaît )
[tool.poetry.scripts] APPLICATION-NAME = 'entry:main'
NOM DE L'APPLICATION doit être remplacé par le nom de la commande de console.
6. Publiez l'utilitaire! (utilisez le nom d'utilisateur et le mot de passe de l'étape 1)
poetry publish --username PYPI_USERNAME --password PYPI_PASS --build
C'est fait! Maintenant, l'autre personne n'a besoin que de deux commandes pour installer:
$ sudo pip install PROJECT-NAME $ APPLICATION-NAME
Où PROJECT-NAME est le nom que vous avez donné au projet à l'étape 4 et APPLICATION-NAME est le nom de l'équipe de l'étape 5.
Mise à jour de la version
Chaque fois que vous souhaitez mettre à jour un module, changez simplement le numéro de version dans le fichier pyproject.toml :
version = "0.1.0"
Et répétez l'étape 6:
poetry publish --username PYPI_USERNAME --password PYPI_PASS --build
Bonus: personnalisez Travis pour la publication automatique
Ajoutez les lignes suivantes au fichier .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
Et définissez les variables d'environnement PYPI_USER et PYPI_PASS sur travis-ci.com . Après cela, vous pouvez publier le package à l'aide des commandes:
git tag -a v1.2 # Replace version number with yours git push --tags