[PYTHON] Mémo push PyPI

Un hub d'hébergement pour les packages Python qui peuvent être installés avec pip install. La lecture est tarte à la tarte.

Paramètre de version

Les deux pypi.org et test.pypi.org ne peuvent pas être écrasés en téléchargeant le même nom (version) (l'index est indépendant). Si vous souhaitez mettre à jour / corriger, mettez à niveau la version.

0.1.0-alpha < 0.1.0-alpha1 < 0.1.0-beta < 0.1.0-beta1 < 0.1.0 < 0.1.1

Structure de répertoire (exemple)

Exemple de fichier

__init__.py

from .YOUR_SCRIPT import *

Exemple d'utilisation après l'installation

import PACKAGE_NAME as PKG

PKG.some_function() # defined in YOUR_SCRIPT.py

Créer setup.py

setup.py

from setuptools import setup

setup(
    name='PACKAGE_NAME',
    version='0.1.0-alpha', # == 0.1.0-alpha0 == 0.1.0a0
    license='MIT',

    packages=[ 'YOUR_PACKAGE_NAME', ],

    install_requires=[
        # Example
        'Pillow',
        'opencv-python',
        'numpy',
    ],

    author='YOUR_NAME',
    author_email='YOUR_EMAIL',

    url='YOUR_WEBSITE_OR_REPOSITORY_URL',

    description='SHORT_DESCRIPTION',

    classifiers=[
        'Development Status :: 3 - Alpha',
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.6',
        'Programming Language :: Python :: 3.7',
    ],
)

--Pour la section classifiers, copiez et collez celle qui s'applique depuis Classifiers · PyPI.

Pré-configuration

pip3 install wheel twine

Emballage

python3 setup.py sdist
python3 setup.py sdist bdist_wheel

Téléchargement expérimental (test d'installation)

Vous pouvez utiliser https://test.pypi.org/, qui se comporte comme pypi.org, pour les téléchargements expérimentaux. pypi.org et le compte sont indépendants, [cet article](https://qiita.com/shinichi-takii/items/e90dcf7550ef13b047b5#pypi%E3%82%A2%E3%82%AB%E3%82 % A6% E3% 83% B3% E3% 83% 88% E7% 99% BB% E9% 8C% B2) Il semble que vous ne devriez pas faire d'erreur si vous changez le nom du compte comme recommandé.

Comme mentionné ci-dessus, une fois téléchargé, le même référentiel PyPI ne peut pas être écrasé (avec la même version), alors faites attention aux paramètres de version.

#Pour sdist spécifique uniquement
twine upload --repository testpypi dist/YOUR_PACKAGE.tar.gz

#Tous les fichiers sous dist
twine upload --repository testpypi dist/*

Téléchargement de la production

#Pour sdist spécifique uniquement
twine upload --repository pypi dist/YOUR_PACKAGE.tar.gz

#Tous les fichiers sous dist
twine upload --repository pypi dist/*

Installation à partir du référentiel git

Il peut être installé à partir de GitHub, de référentiels GitLab ou de référentiels git locaux sans pousser vers PyPI. La structure des répertoires est la même que lors du transfert vers PyPI.

pip3 install git+https://github.com/USERNAME/REPOSITORY
pip3 install git+ssh://github.com/USERNAME/REPOSITORY
pip3 install git+file:///home/USER/REPOSITORY

Il semble que vous puissiez également spécifier la branche et commettre le hachage (voir le document officiel ci-dessus pour plus de détails).

référence

Recommended Posts

Mémo push PyPI
mémo gzip
Mémo Raspberry-pi
Mémo Pandas
Mémo HackerRank
Mémo Python
mémo python
mémo graphène
Mémo du flacon
mémo pyenv
Mémo Matplotlib
mémo pytest
mémo sed
Mémo Python
Installer Memo
Inscription PyPI
Mémo BeautifulSoup4
mémo networkx
mémo python
mémo Tomcat
mémo de commande
Mémo du générateur.
mémo psycopg2
Mémo Python
Mémo SSH
Mémo: rtl8812
mémo pandas
Mémo Shell
Mémo Python
Mémo Pycharm
Un mémo créé dans un package et enregistré dans PyPI