【问题标题】:Project module imports - Python2.7 [Beginner]项目模块导入 - Python2.7 [初学者]
【发布时间】:2018-11-06 07:31:57
【问题描述】:

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

项目结构如下

  • 项目

    • 用户界面
      • 初始化.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()

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

【问题讨论】:

    标签: python linux ubuntu wxpython wxwidgets


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-10
      • 1970-01-01
      • 2015-07-08
      • 2013-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多