Откуда этот ImportError? - PullRequest
       3

Откуда этот ImportError?

1 голос
/ 11 октября 2019

Я разработал новый модуль и хочу интегрировать его в существующий пакет (из репозитория Git). Однако я не могу импортировать вновь созданный модуль. Кто-нибудь знает почему?

config: python3.6 \ IDE: VS2017, Spyder

Структура:

repoA/__init__.py
repoA/repoB/
repoA/repoB/__init__.py
repoA/repoB/moduleA.py
repoA/repoB/moduleB.py <= added module

Тестовый код, расположенный в другом хранилище

import sys
sys.path.append(r"..\tatata\tututu")
Import repoA.repoB
from repoA.repoB import moduleA
from repoA.repoB import moduleB

moduleA

import tkinter
from tkinter import simpledialog

moduleB

from tkinter import Tk, Label, Button, Radiobutton, IntVar, filedialog

результат:

ImportError: cannot import name 'moduleB'

Очевидно, ModuleA найден, но не модуль B, и я не понимаю, почемутак как они расположены в одном каталоге. Нужно ли трогать __init__.py? (ранее у moduleB был класс с именем moduleB. Я изменил имя класса без какого-либо влияния на ошибку)

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

@ ShadowRanger: Человек! Ты понял. Вся структура фактически существовала дважды в этом проекте (repoA / repoB / moduleA была в repoC / и repoC / repoD / !!!) ._. Я уберу это, и тогда это должно работать. Большое спасибо всем вам!

0 голосов
/ 11 октября 2019

Вы можете редактировать

init .py

как:

из модуля A import * fromмодульB импорт *

...