[PYTHON] Notez que la méthode de publication des modules sur PyPI a changé de différentes manières.

La méthode de publication des modules sur PyPI a beaucoup changé avant de la voir pendant un moment, je vais donc l'écrire sous forme de mémorandum.

Qu'avez-vous publié?

c'est ici.

Jusqu'à présent, GitHub est le seul document pouvant être appelé document.

setup.cfg

Quand j'avais l'habitude de toucher PyPI, j'écrivais divers paramètres dans setup.py pour décrire les paramètres du module, mais maintenant je mets les informations du module dans un fichier appelé setup.cfg. Il semble que j'ai commencé à écrire.

setup.cfg


[metadata]
name = tksugar
version = attr: tksugar.__version__
author = TakamiChie
author_email = [mail]
license = MIT
description = A module that generates a structured Tk window frame from a text file.
keywords =
url = https://github.com/TakamiChie/TkSugar
long_description = file: README.md
long_description_content_type = text/markdown
classifiers =
    Programming Language :: Python :: 3.7
    Programming Language :: Python :: 3.8

[options]
packages = find:
install_requires =
  pyyaml

Pour le moment, je suis curieux à ce sujet.

version À l'avance, ajoutez les constantes suivantes au «__init __. Py» du module à télécharger.

__init__.py


__version__ = "0.1.0"

Dans mon cas, __init __. Py a été placé dans root \ tksugar \ __init __. Py, donc je suis d'accord avec la description ci-dessus, mais je veux créer un fichier appelé __VERSION __. Py et le définir ici. Notez que ce qui précède changera selon que vous souhaitez ou non utiliser root / src / project / __ init __. Py.

long_description C'est une longue explication qui est littéralement longue à lire. README.md est lu et affiché tel quel. Ce texte apparaîtra sur le côté droit du site PyPI.org.

Dans le cas du format Markdown, assurez-vous de le décrire comme un ensemble avec long_description_content_type. Cela s'arrêtera avec une erreur.

classifiers Il s'agit d'une classification sur le site PyPI. Cela ressemble à un fichier ini, mais vous pouvez en écrire un par ligne. Veuillez consulter le site PyPI pour le contenu de la classification.

install_requires

Il est écrit de la même manière que les classificateurs. L'instruction ci-dessus est équivalente à pyyaml =" * " dans Pipfile.

télécharger

  1. Suivez l'article de référence 6 et créez .pypirc. Pour Windows 10, enregistrez dans le dossier C: \ Users \ [UserName]
  2. pip install twine wheel (j'ai peut-être fait autre chose parce que je luttais beaucoup)
  3. python setup.py sdist bdist_wheel
  4. twine upload --repository testpypi dist / *
  5. S'il n'y a pas de problème, twine upload --repository pypi dist / *

Il est facile d'écrire le code suivant dans Pipfile (Puisque le contenu de Reference 6 n'est pas Windows, modifiez-le de manière appropriée / pipenv run semble fonctionner à l'invite de commande au lieu de PowerShell, il est donc approprié Ajustement)

Pipfile


[scripts]
clear = "pwsh -c Remove-Item -Recurse -Force *.egg-info, build, dist"
build = "python setup.py sdist bdist_wheel"
deploytest = "twine upload --repository testpypi dist/*"
deploy = "twine upload --repository pypi dist/*"

point important

Ce type de méthode de fonctionnement change assez souvent, donc lorsque vous recherchez sur Google, prenez des mesures telles que définir la désignation de période sur "dans un délai d'un mois". S'il s'agit d'un article il y a plus de six mois, le contenu peut avoir changé quelque part (bien que l'article précédent puisse être utile pour le contenu de la description).

image.png

Les références

  1. Résumé de l'installation de python \ .py \ -Qiita
  2. [[Tech way from one step] 21e "Écrivons setup \ .py et rendons-le installable avec pip" \ -Sansan Builders Blog](https://buildersbox.corp-sansan.com/entry/ 2019/07/11/110000)
  3. Gérez le contenu de la configuration Python \ .py avec setup \ .cfg \ -astropenguin
  4. Procédure d'enregistrement PyPI pour ceux qui veulent faire leurs débuts avec PyPI \ -Qiita
  5. \ _ \ _ version \ _ \ _ pièges et bonnes pratiques \ -Qiita
  6. Paramètres lors du téléchargement de packages Python vers PyPI localement \ -Qiita

Recommended Posts

Notez que la méthode de publication des modules sur PyPI a changé de différentes manières.
Veuillez noter que le dernier lien d'ius a changé
Veuillez noter que le dernier lien d'ius a changé
Notez que la méthode de publication des modules sur PyPI a changé de différentes manières.
Notez que les spécifications de Pandas loc ont changé.
Code qui définit les valeurs par défaut en cas d'AttributeError
Différentes façons de lire la dernière ligne d'un fichier csv en Python
Différentes façons de calculer la similitude entre les données avec python
Différentes façons de créer un tableau de nombres de 1 à 10 en Python.
[python] Une note que j'ai commencé à comprendre le comportement de matplotlib.pyplot
L'utilisation de TensorBoard a légèrement changé
Divers commentaires à écrire dans le programme
Essayez d'afficher la séquence de Fibonacci dans différentes langues comme pratique d'algorithme
Comment trouver le coefficient de la courbe approximative passant par les sommets en Python
3 façons d'analyser les chaînes de temps avec python [Note]
Notez que les spécifications de Pandas loc ont changé.
Pour remplacer dynamiquement la méthode suivante en python
[Note] À propos du rôle du trait de soulignement "_" en Python
Un moyen simple de vérifier la source des modules Python
Représentation numérique des jours dans différentes langues
Diverses méthodes pour extraire les colonnes du tableau NumPy
Comment obtenir le nombre de chiffres en Python
Essayez de le résoudre de différentes manières (SAT, CSP)
Modules pouvant passer par le shell en Python
Pour faire l'équivalent de Ruby ObjectSpace._id2ref en Python
Note Python: Le mystère de l'attribution d'une variable à une variable
Notez ce que vous voulez faire à l'avenir avec Razpai
[Python] Programmation pour trouver le nombre de a dans une chaîne de caractères qui se répète un nombre spécifié de fois.
[Note] Un script shell qui vérifie l'utilisation du processeur d'un processus spécifique dans une boucle while.