Импорт пакетов в Python3 - PullRequest
       10

Импорт пакетов в Python3

0 голосов
/ 05 февраля 2019

Как импортировать пакеты в Python3?

-Package1
|
--InnerPackage1
||
| ---InnerInnerPackage1
| ---InnerInnerPackage2
| ---InnerInnerPackage3
--InnerPackage2
||---InnerInnerPackage4
||---InnerInnerPackage5
||---InnerInnerPackage6
||---InnerInnerPackage7
--InnerPackage3
||---InnerInnerPackage8
||---InnerInnerPackage9
|||
|| ----InnerInnerInnerPackage10
|| ----InnerInnerInnerPackage11
||---InnerInnerPackage12
|||----InnerInnerInnerPackage12
|||----InnerInnerInnerPackage13
|||----InnerInnerInnerPackage14
||---InnerInnerPackge13

Теперь, позвольте моей структуре каталогов быть похожей на ту, что я упомянул выше, как мне импортировать пакет, если мой текущий каталог предполагает InnerInnerInnerPackage12, и я должен импортировать InnerInnerPackage6.

Хотя, когда я импортирую, обходя выше с использованием этого синтаксиса,

from InnerPackage2 import InnerInnerPackage6

Иначе, можно также подразумевать импорт из корневого пакета

Package1.InnerPackage2.InnerInnerPackage6

Другая логика гласит:

import sys.path
sys.path.insert(0, '%package_directory%\\Package1\\InnerPackage2\\InnerInnerPackage6')

Это работает в cmd.

Тем не менее, каков будет правильный способ импорта модуля.

Это даетошибка при запуске кода в CMD, но когда я запускаю код в JetBrains PyCharm, он работает.

Может кто-нибудь помочь мне с этой проблемой?Буду благодарен!:)

1 Ответ

0 голосов
/ 06 февраля 2019

Может быть, это потому, что мы экспортируем из python модули, а не пакеты.

Я думаю, что эта проблема возникает из-за этого.

Кроме того, чтобы запустить то же самое в cmd, можно следоватьэтот синтаксис:

from InnerPackage2.InnerInnerPackage6 import InnerInnerPackage6

Возможно, причина в том, что трудность возникает, когда мы запускаем одну и ту же программу в JetBrains PyCharm и в cmd.

...