繁体   English   中英

项目模块导入-Python2.7 [入门]

[英]Project module imports - Python2.7 [Beginner]

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

项目结构如下

  • 项目

    • ui
      • 初始化 .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()

我了解这是一个新手问题,但根据我的阅读经验,我无法解决。 任何帮助将不胜感激!

要导入的模块位于其他文件夹中,因此您应该执行以下操作:

from ui import MainWindow

您的main.py文件应位于Project内部

  • 项目
    • ui
      • __init__.py
      • MainWindow.py
    • main.py

这是python包的示例

没有任何理由您的代码将无法正常显示。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM