где читать пакеты и личные методы в ваших собственных модулях - PullRequest
0 голосов
/ 04 апреля 2020

Я полностью сбит с толку относительно того, где я должен читать / загружать пакеты, необходимые для созданного мной личного класса.

представьте себе эту ситуацию.

enter image description here

основная программа - pymain.py

Такая программа должна импортировать утилиты из pyutils / utils_application.py (некоторые методы), но также читает класс из pyutils / refsigns.py

и refsigns.py также необходимо импортировать утилиты из pyutils / utils_application.py. Для простоты предположим, что утилита, содержащаяся в pyutils / utils_application.py, представляет собой метод с именем Utilme.

refsigns.py включает в себя единственный класс C, который я хочу импортировать в pymain.py. Такой класс C нуждается в pandas и утилите. Должен ли код класса включать в def init оба импорта? если нет где?

class C():
    def __init__():
        import pandas
        from utils_application import Utilme as ut

Может ли импортируемый класс C ссылаться на методы, импортированные в основную программу?

Я нахожу все это странным, так как в случае необходимости импортировать на уровне класса я буду импорт pandas несколько раз (мне также нужно pandas в pymain.py), то же самое относится и к таким методам, как utilme, являющийся частью pyutils / utils_application.py.

Я не вставляю код, потому что он слишком длинный для этого примера. До сих пор я двигался вокруг

Import pandas as pd 

как часть def init ()

и снаружи, и в pymain.py, но у меня ничего не получалось пока.

большое спасибо

EDIT При тестировании класса C все go хорошо, потому что refsigns.py и pyutils / utils_application.py находятся в одной папке, поэтому импорт осуществляется в init метод работает. Тем не менее, при импорте класса C в pymain.py и инициализации класса в той же папке, что и pymain.py, не обнаруживается модуль utils_application.py, и программа завершается сбоем. модуль не найден ...

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