首页 > 解决方案 > 项目模块导入 - Python2.7 [初学者]

问题描述

这是我在 Python 中的第一个项目,由于某种原因,我无法导入我从项目的根目录制作的模块。

项目结构如下

在 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 的模块

主窗口.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()

我知道这是一个新手问题,但从我所读到的内容中我无法应对。任何帮助将不胜感激!

标签: pythonlinuxubuntuwxpythonwxwidgets

解决方案


您的代码没有理由不能按所示工作。

您可以从命令行运行python -c "import ui; print dir(ui);",它将向您显示ui模块中可用的所有对象。

  • 如果该命令出错,则您的子文件夹可能存在权限问题。预编译的.pyc文件之一也可能存在问题- 尝试删除您的 Project 和 ui 文件夹中的所有文件。
  • 如果它只显示内置函数,如ui模块中的文件['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']可能存在问题。__init__.py
  • 如果它显示您不认识的对象,则可能安装了其他正在导入的ui模块。尝试将模块名称更改为myui或类似名称,然后从那里导入。

推荐阅读