簡體   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