Рубрики
Без рубрики

Публикация ваших пакетов Python на TestPypi перед публикацией на Pypi

Если вы просто создаете пакет для учебных целей, нет необходимости (ИМО), чтобы загрязнять должностные документы … Теги с Python.

Создание приложений CLI с Python (9 частью серии)

Если вы просто создаете пакет для обучения, нет необходимости (IMO), чтобы загрязнять официальный индекс PYPI. Кроме того, вы можете выпустить пакет для выбора номера пользователей для тестирования, прежде чем вы действительно выпустить его официально. Для этих целей вам лучше использовать TestPypi :

Отдельный экземпляр индекса пакета Python, который позволяет попробовать инструменты и процессы распространения, не влияя на реальный индекс.

Загрузка в TestPypi

Для окончательной части этой серии я загрузку приложении, которое мы создали на TestPypi. Вот шаги для выполнения:

1. Создайте учетную запись на TestPy

Вам понадобится аккаунт, чтобы продолжить, чтобы отправиться на https://test.pypi.org/ и создать один.

2. Обновление Setup.py.

Мы сохранили setup.py Файл очень просто во время разработки. Теперь нам нужно добавить некоторые детали, чтобы она готова к публикации.

from setuptools import setup, find_packages

with open("README.md", "r") as fh:
    long_description = fh.read()

setup(
        name="contacts",
        version="0.1.0",
        packages=find_packages(),
        description="Save contacts from your terminal",
        long_description=long_description,
        long_description_content_type="text/markdown",
        url="https://github.com/wangonya/contacts-cli",
        author="Kinyanjui Wangonya",
        author_email="kwangonya@gmail.com",
        license="MIT",
        classifiers=[
            "License :: OSI Approved :: MIT License",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.7",
        ],
        install_requires=[
            "Click",
            "requests",
            ],
        entry_points="""
        [console_scripts]
        contacts=app:cli
        """,
        )

Большинство вариантов являются самоочередными, но вы можете проверить, что каждый из них означает в Настройка документов .

3. Построить свой пакет

В корневом каталоге запустите:

(env) $ python setup.py sdist bdist_wheel

Это будет генерировать Dist Папка с распределительными пакетами:

dist/
├── contacts-0.1.0-py3-none-any.whl
└── contacts-0.1.0.tar.gz

4. Загрузить пакет с шпагатом

Установка шпагата:

$ pip install twine

Загрузить пакет:

$ twine upload --repository-url https://test.pypi.org/legacy/ dist/*
Enter your username:
Enter your password:
Uploading distributions to https://test.pypi.org/legacy/
Uploading contacts-0.1.0-py3-none-any.whl
100%|███████████████████████████████████████████████████████████|
Uploading contacts-0.1.0.tar.gz
100%|███████████████████████████████████████████████████████████|

Пакет теперь должен быть загружен на вашу учетную запись:

Чтобы установить пакет локально из TESTPYPI, запустите:

$ pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple your-package

--index-url говорит Пип, чтобы получить пакет из TestPipi. Если пакет нуждается в других зависимостях, чтобы запустить, --extra-index-url должен быть включен, поэтому зависимости могут быть получены из пипи.

Создание приложений CLI с Python (9 частью серии)

Оригинал: “https://dev.to/wangonya/publishing-your-python-packages-on-testpypi-before-publishing-on-pypi-2gb2”