Как упаковать мою python программу, чтобы пользователь мог установить ее с помощью setup.py - PullRequest
1 голос
/ 27 апреля 2020

У меня есть один python файл прямо сейчас, и меня просят преобразовать его в python модуль, где пользователь может установить его с помощью python setup.py install. Я не уверен, как это сделать. Я следовал некоторым инструкциям онлайн и создал файл setup.py и файл init.py. Файл setup.py выглядит следующим образом:

import setuptools

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

setuptools.setup(
    name="",
    version="0.0.1",
    author="",
    author_email="",
    description="",
    long_description=long_description,
    long_description_content_type="text/markdown",
    url="https://github.com/pypa/sampleproject",
    packages=setuptools.find_packages(),
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    python_requires='>=3.6',
)

Я не уверен, что этот файл setup.py правильный. Также я не знаю, что мне делать дальше. Может кто-нибудь помочь мне и сказать, что я должен делать? Есть ли учебник, который учит этому? Я не могу найти ничего связанного. Также мой файл setup.py правильный? Спасибо!

1 Ответ

1 голос
/ 27 апреля 2020

Есть несколько способов сделать упаковку. упаковка Python Проекты на python .org и setuptools Документы - хорошее начало.

К сожалению, примеры, как правило, фокусируются на дистрибутивах пакетов, а не на отдельных модулях. , Вместо packages используйте ключевое слово py_modules. Предполагая, что ваш модуль называется «test.py», этот setup.py будет работать

import setuptools

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

setuptools.setup(
    name="test",
    version="0.0.1",
    author="",
    author_email="",
    description="",
    long_description=long_description,
    long_description_content_type="text/markdown",
    url="https://github.com/pypa/sampleproject",
    py_modules = ["test"],
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    python_requires='>=3.6',
)

Если вы считаете, что он будет расширен до нескольких модулей, то вы можете go вернуться к использованию setuptools.find_packages(). В этом случае вам нужен подкаталог, названный в соответствии с вашим желаемым пакетом, и поместите туда инициат

some_random_project_file
    +-- setup.py
        README.md
        LICENCE
    +-- test
        +-- __init__.py
            test.py
...