Как создать пакет Python с несколькими каталогами - PullRequest
0 голосов
/ 12 февраля 2020

В ссылке ниже есть вопрос, похожий на мой:

создание пакета python с несколькими уровнями папок

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

Я создал рабочий пакет с рядом функций:

https://github.com/aaronengland/prestige

В каталоге prestige находится файл init .py , содержащий некоторые классы и функции. У меня есть класс с именем preprocessing, и я могу вызвать любую функцию из этого класса, используя:

from prestige import preprocessing as pre

И затем (например):

pre.Binaritizer()

Однако я хочу иметь возможность импортировать эти функции, используя:

import prestige.preprocessing as pre

Используя первую ссылку (выше), я потерпел неудачу в этом. Я чувствую, что это должно быть простое решение, но по какой-то причине я не смог заставить его работать. Может кто-нибудь показать мне, как сделать это возможным? Заранее спасибо!

1 Ответ

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

Мне удалось решить проблему, организовав структуру файла следующим образом:

  • prestige
  • setup.py
  • init.py
  • general.py
  • preprocessing.py

setup.py был настроен как обычно, , general.py содержит функции / классы, а preprocessing.py содержит функции / классы. Файл init.py содержит 2 строки кода:

from .preprocessing import * и from .general import *

Итак, я не создавал новые каталоги, я просто разделил свои функции в отдельные файлы .py и импортировали их в мой файл init.py .

Теперь я могу импортировать функции, например:

from prestige.preprocessing import Binaritizer

Надеюсь, это поможет кому-то в будущем с подобным вопросом.

Пакет доступен здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...