Импорт модуля проекта - Python2.7 [Новичок] - PullRequest
0 голосов
/ 27 мая 2018

Это мой первый проект на Python, и по какой-то причине я не могу импортировать модуль, который я сделал из корневого каталога моего проекта.

Структура проекта выглядит следующим образом

  • Project

    • ui
      • init .py
      • MainWindow.py
    • main.py

И в main.py я пытаюсь импортировать класс из MainWindow.py как:

# Python
import sys

# ui
import wx

# Own files
import ui.MainWindow


def main():
    app = wx.App()
    MainWindow(None, title="Internet HW")
    app.MainLoop()


main()

Но я получаю ошибку:

ImportError: Нет модуля с именем ui.MainWindow

MainWindow.py:

# UI
import wx


class MainWindow(wx.Frame):

    def __init__(self, parent, title):
        super(MainWindow, self).__init__(parent, title=title, size=(600, 600))

    def InitUI(self):
        self.Centre()
        self.Show()

Я понимаю, что это вопрос новичка, но не могусправиться с этим из того, что я прочитал.Любая помощь будет оценена!

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Нет причин, по которым ваш код не будет работать, как показано.

Из командной строки вы можете запустить python -c "import ui; print dir(ui);", и он покажет вам все объекты, доступные в ui module.

  • Если эта команда выдает ошибку, вероятно, существует проблема с разрешениями в вашей подпапке.Это также может быть проблема с одним из предварительно скомпилированных файлов .pyc - попробуйте удалить все из них в ваших папках Project и UI.
  • Если он показывает только встроенные функции, такие как ['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__'],может быть проблема с вашим файлом __init__.py в модуле ui .
  • Если он показывает объекты, которые вы не можете распознать, может быть какой-то другой модуль ui Установлено, что импортируется.Попробуйте изменить имя вашего модуля на myui или что-то подобное и импортировать оттуда.
0 голосов
/ 27 мая 2018

Модуль, который вы хотите импортировать, находится в другой папке, поэтому вы должны сделать:

from ui import MainWindow

Ваш main.py файл должен быть внутри Project

  • Проект
    • ui
      • __init__.py
      • MainWindow.py
    • main.py

Вот пример пакета python

...