Wxpython не может импортировать файлы в тот же каталог

Я хотел создать простой графический интерфейс с wxpython (в python 3.6.1), потому что я больше не хотел использовать командную строку для этого проекта.

У меня есть большой файл для логики в другом файле, который также используется другими файлами, отличными от wxpython.

Но когда я пытаюсь импортировать свой класс логики, я получаю эту ошибку:

ImportError: cannot import name 'QuestionAsk'

Я использую эту строку для импорта класса логики:

from Get import QuestionAsk

Файл Get.py находится в том же каталоге, что и файл gui. Здесь

Но это не работает, почему и как я могу импортировать этот файл?

Кстати, я вызываю файл gui.py из файла get.py и импортирую файл get.py из файла Asker.py.

ps: Пожалуйста, постарайтесь не отвечать: «просто скопируйте содержимое этого класса в свой файл GUI», потому что я использую этот класс в другом месте, если нет другого решения, тогда это нормально, но это просто уродливо и неэффективно.

Редактировать Вот код из файла Get, который запускает графический интерфейс:

def graphical_start():
    app = wx.App(False)  # int app
    frame = GuiVocCard()  # set frame (GuiVocCard is in the main Gui File)
    frame.Show()  # show frame
    app.MainLoop()  # execute loop

И вот начало основного класса Gui "GuiVocCard":

class GuiVocCard(wx.Frame):

    def __init__(self):

        self.language = "es"
        self.transList = "C:\\Users\\Justus\\Desktop\\Schule\\spa\VocabGeter\\translations\\big_translation.json"
        self.verb_forms = [0,2]
        self.High_Score = 0
        self.s_file = "scores.json"
        self.S_chunk = 40
        self.chunk_file = "chunks.json"

       self.load_config()
       self.q_ask = QuestionAsk(lan=self.language, trans=self.transList, verb_forms=self.verb_forms,
                             scores_file=self.s_file, chunks_file=self.chunk_file, chunk_size=self.S_chunk)
       ...

Изменить 2:

QuestionAsk определяется здесь, в файле Get.py:

class QuestionAsk:

   def __init__(self,lan = "es",trans = "C:\\Users\\Justus\\Desktop\\Schule\\spa\VocabGeter\\translations\\translation.json"
             ,verb_forms=[0,2],scores_file = "scores.json",chunks_file = "chunks.json",chunk_size=40):

       self.language = lan
       self.transList = trans
       self.verb_forms = verb_forms
       self.High_Score = 0
       self.s_file = scores_file
       self.S_chunk = chunk_size
       self.chunk_file = chunks_file

Исправлено (ура):

Я удалил функцию graphical_start из файла Get.py и вставил ее в файл gui.py. Теперь я импортирую файл Gui.py прямо из файла Asker.py.

попробуйте from Get.py import QuestionAsk

Max 31.05.2018 16:52

ModuleNotFoundError: нет модуля с именем Get.py; Get - это не пакет

Sutsuj OwO 31.05.2018 16:54

попробуйте from .Get import QuestionAsk

vk-code 31.05.2018 16:54

Ярмарки, было бы полезно увидеть фрагмент кода Get.py?

Max 31.05.2018 16:55

from .Get import QuestionAsk выдает эту ошибку: ImportError: попытка относительного импорта без известного родительского пакета

Sutsuj OwO 31.05.2018 16:56

Какая часть это 27кб?

Sutsuj OwO 31.05.2018 16:57

@JustusLaube - часть, в которой определяется QuestionAsk, не обязательно должна включать в себя все QuestionAsk, а также, возможно, начальное определение Get, просто чтобы правильно знать

Max 31.05.2018 16:59

@JustusLaube, вы забыли указать, где определен класс QuestionAsk (это class QuestionAsk()). Является ли QuestionAsk подклассом чего-либо в Get.py? Если это подкласс, импортируйте его через from Get import ParentClass.QuestionAsk

Max 31.05.2018 17:07

у Clask Question Ask нет родительского класса.

Sutsuj OwO 31.05.2018 17:13

Посмотрите здесь: (Возможный дубликат) stackoverflow.com/questions/9252543/…

Max 31.05.2018 17:16

Спасибо Макс, исправил! Я просто переместил функцию "graphical_start" из файла Get.py в файл gui.py и импортировал файл gui.py непосредственно из файла Asker.py.

Sutsuj OwO 31.05.2018 17:24
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
11
35
0

Другие вопросы по теме