как упаковать python пакетов и подпакетов как один пакет в python3 - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь создать пакет python со структурой ниже. когда я пытаюсь создать пакет testproject , он успешно создается и успешно загружается в https://test.pypi.org/legacy/

testproject/
    testproject/
        Core/
            __init__.py
            BaseModel.py
        lib/
            __init__.py
            RunModel.py
        __init__.py
        RunWorkflow.py
    LICENSE
    README.md
    setup.py   

Когда я пытаюсь загрузить его на свой новая среда загружает правильную версию в мою среду, и когда я запускаю список conda , я вижу установленный пакет с правильной версией.

Фактическая проблема заключается в том, когда я попытался выполнить команду help ('modules') , она также возвращает все подпакеты [Core и lib]. когда я вижу другие пакеты, такие как os , numpy, scikit-learn . он не показывает свои подпакеты в help ('modules') .

как я могу избежать этой ситуации, я здесь что-то не так делаю?

Пожалуйста, найдите мой setup.py ниже.

import setuptools

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

setuptools.setup(
    name='Test-Project-pypi',
    version='0.0.1',
    author="Manikandan Jeyabal",
    author_email="ManikandanJeyabal029@gmail.com",
    description="My longdestription",
    long_description=long_description,
    long_description_content_type="text/markdown",
    packages=setuptools.find_packages(),
    classifiers=[
        "Development Status :: 3 - Alpha",
        "Intended Audience :: Developers",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.4",
        "Programming Language :: Python :: 3.5",
        "Programming Language :: Python :: 3.6",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    install_requires=[
        "numpy <=1.17.4", "pandas", "scikit-learn >= 0.21.3, <= 0.22"
    ],
    python_requires='>=3.7'
 )

1 Ответ

0 голосов
/ 04 февраля 2020

Эта проблема была решена путем добавления приведенного ниже кода в Main init .py под 'testproject'

from . import Core
from . import lib
...