[PYTHON] PyPI-Push-Memo

Ein Hosting-Hub für Python-Pakete, der mit "pip install" installiert werden kann. Die Lesung ist Pie Pie.

Versionseinstellung

Sowohl pypi.org als auch test.pypi.org können nicht durch Hochladen des gleichen Namens (Version) überschrieben werden (Index ist unabhängig). Wenn Sie aktualisieren / reparieren möchten, aktualisieren Sie die Version.

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

Verzeichnisstruktur (Beispiel)

Dateibeispiel

__init__.py

from .YOUR_SCRIPT import *

Anwendungsbeispiel nach der Installation

import PACKAGE_NAME as PKG

PKG.some_function() # defined in YOUR_SCRIPT.py

Erstellen Sie 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',
    ],
)

--Kopieren Sie für den Abschnitt "Klassifizierer" den entsprechenden Abschnitt aus Klassifizierer · PyPI und fügen Sie ihn ein.

Pre-Setup

pip3 install wheel twine

Verpackung

python3 setup.py sdist
python3 setup.py sdist bdist_wheel

Experimenteller Upload (Installationstest)

Sie können https://test.pypi.org/, das sich wie pypi.org verhält, für experimentelle Uploads verwenden. pypi.org und das Konto sind unabhängig [dieser Artikel](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) Es scheint, dass Sie keinen Fehler machen sollten, wenn Sie den Kontonamen wie empfohlen ändern.

Wie oben erwähnt, kann dasselbe PyPI-Repository nach dem Hochladen nicht überschrieben werden (mit derselben Version). Achten Sie daher auf die Versionseinstellungen.

#Nur für bestimmte SDIST
twine upload --repository testpypi dist/YOUR_PACKAGE.tar.gz

#Alle Dateien unter dist
twine upload --repository testpypi dist/*

Produktions-Upload

#Nur für bestimmte SDIST
twine upload --repository pypi dist/YOUR_PACKAGE.tar.gz

#Alle Dateien unter dist
twine upload --repository pypi dist/*

Installation aus dem Git-Repository

Es kann von GitHub, GitLab-Repositorys oder lokalen Git-Repositorys installiert werden, ohne auf PyPI zuzugreifen. Die Verzeichnisstruktur ist dieselbe wie beim Pushing auf PyPI.

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

Es scheint, dass Sie auch den Zweig angeben und den Hash festschreiben können (Einzelheiten finden Sie im offiziellen Dokument oben).

Referenz

Recommended Posts

PyPI-Push-Memo
gzip memo
Himbeer-Pi-Memo
Pandas Memo
HackerRank-Memo
Python-Memo
Python-Memo
Graphen-Memo
Kolben Memo
pyenv memo
Matplotlib-Memo
pytest memo
sed memo
Python-Memo
Installieren Sie Memo
PyPI-Registrierung
BeautifulSoup4 Memo
networkx memo
Python-Memo
Kater Memo
Befehlsnotiz
Generator Memo.
psycopg2 memo
Python-Memo
SSH-Memo
Notiz: rtl8812
Pandas Memo
Shell Memo
Python-Memo
Pycharm-Memo
Ein Memo, das in einem Paket erstellt und in PyPI registriert wurde