title: python - cannot import name from file generated with pyuic4
body: <p>I have the following two scripts, the first of which was generated using pyuic4 for Windows, and was not modified.</p>
  
  <p>textedit.py:</p>
  
  <pre><code># -*- coding: utf-8 -*-
  
  # Form implementation generated from reading ui file 'mytextedit.ui'
  #
  # Created: Mon Sep 22 14:47:34 2014
  #      by: PyQt4 UI code generator 4.11.2
  #
  # WARNING! All changes made in this file will be lost!
  
  from PyQt4 import QtCore, QtGui
  
  try:
      _fromUtf8 = QtCore.QString.fromUtf8
  except AttributeError:
      def _fromUtf8(s):
          return s
  
  try:
      _encoding = QtGui.QApplication.UnicodeUTF8
      def _translate(context, text, disambig):
          return QtGui.QApplication.translate(context, text, disambig, _encoding)
  except AttributeError:
      def _translate(context, text, disambig):
          return QtGui.QApplication.translate(context, text, disambig)
  
  class Ui_notepad(object):
      def setupUi(self, notepad):
          notepad.setObjectName(_fromUtf8("notepad"))
          notepad.resize(763, 638)
          self.centralwidget = QtGui.QWidget(notepad)
          self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
          self.verticalLayout_2 = QtGui.QVBoxLayout(self.centralwidget)
          self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
          self.verticalLayout = QtGui.QVBoxLayout()
          self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
          self.tabWidget = QtGui.QTabWidget(self.centralwidget)
          self.tabWidget.setMaximumSize(QtCore.QSize(16777215, 16777215))
          self.tabWidget.setTabShape(QtGui.QTabWidget.Triangular)
          self.tabWidget.setTabsClosable(True)
          self.tabWidget.setMovable(True)
          self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
          self.tab = QtGui.QWidget()
          self.tab.setObjectName(_fromUtf8("tab"))
          self.verticalLayout_3 = QtGui.QVBoxLayout(self.tab)
          self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
          self.plainTextEdit = QtGui.QPlainTextEdit(self.tab)
          self.plainTextEdit.setObjectName(_fromUtf8("plainTextEdit"))
          self.verticalLayout_3.addWidget(self.plainTextEdit)
          self.tabWidget.addTab(self.tab, _fromUtf8(""))
          self.tab_2 = QtGui.QWidget()
          self.tab_2.setObjectName(_fromUtf8("tab_2"))
          self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
          self.verticalLayout.addWidget(self.tabWidget)
          self.verticalLayout_2.addLayout(self.verticalLayout)
          notepad.setCentralWidget(self.centralwidget)
          self.menubar = QtGui.QMenuBar(notepad)
          self.menubar.setGeometry(QtCore.QRect(0, 0, 763, 21))
          self.menubar.setObjectName(_fromUtf8("menubar"))
          self.menuFile = QtGui.QMenu(self.menubar)
          self.menuFile.setObjectName(_fromUtf8("menuFile"))
          self.menuEdit = QtGui.QMenu(self.menubar)
          self.menuEdit.setObjectName(_fromUtf8("menuEdit"))
          notepad.setMenuBar(self.menubar)
          self.statusbar = QtGui.QStatusBar(notepad)
          self.statusbar.setObjectName(_fromUtf8("statusbar"))
          notepad.setStatusBar(self.statusbar)
          self.actionNew = QtGui.QAction(notepad)
          self.actionNew.setObjectName(_fromUtf8("actionNew"))
          self.actionOpen = QtGui.QAction(notepad)
          self.actionOpen.setObjectName(_fromUtf8("actionOpen"))
          self.actionSave = QtGui.QAction(notepad)
          self.actionSave.setObjectName(_fromUtf8("actionSave"))
          self.actionSave_As = QtGui.QAction(notepad)
          self.actionSave_As.setObjectName(_fromUtf8("actionSave_As"))
          self.actionPaste = QtGui.QAction(notepad)
          self.actionPaste.setObjectName(_fromUtf8("actionPaste"))
          self.actionCut = QtGui.QAction(notepad)
          self.actionCut.setObjectName(_fromUtf8("actionCut"))
          self.actionCopy = QtGui.QAction(notepad)
          self.actionCopy.setObjectName(_fromUtf8("actionCopy"))
          self.actionDelete = QtGui.QAction(notepad)
          self.actionDelete.setObjectName(_fromUtf8("actionDelete"))
          self.actionDelete_Line = QtGui.QAction(notepad)
          self.actionDelete_Line.setObjectName(_fromUtf8("actionDelete_Line"))
          self.actionSelect_All_2 = QtGui.QAction(notepad)
          self.actionSelect_All_2.setObjectName(_fromUtf8("actionSelect_All_2"))
          self.menuFile.addAction(self.actionNew)
          self.menuFile.addAction(self.actionOpen)
          self.menuFile.addAction(self.actionSave)
          self.menuFile.addAction(self.actionSave_As)
          self.menuEdit.addAction(self.actionPaste)
          self.menuEdit.addAction(self.actionCut)
          self.menuEdit.addAction(self.actionCopy)
          self.menuEdit.addAction(self.actionDelete)
          self.menuEdit.addAction(self.actionDelete_Line)
          self.menuEdit.addAction(self.actionSelect_All_2)
          self.menubar.addAction(self.menuFile.menuAction())
          self.menubar.addAction(self.menuEdit.menuAction())
  
          self.retranslateUi(notepad)
          self.tabWidget.setCurrentIndex(0)
          QtCore.QMetaObject.connectSlotsByName(notepad)
  
      def retranslateUi(self, notepad):
          notepad.setWindowTitle(_translate("notepad", "Text Edit", None))
          self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("notepad", "Tab 1", None))
          self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("notepad", "Tab 2", None))
          self.menuFile.setTitle(_translate("notepad", "File", None))
          self.menuEdit.setTitle(_translate("notepad", "Edit", None))
          self.actionNew.setText(_translate("notepad", "New", None))
          self.actionNew.setShortcut(_translate("notepad", "Ctrl+N", None))
          self.actionOpen.setText(_translate("notepad", "Open", None))
          self.actionOpen.setShortcut(_translate("notepad", "Ctrl+O", None))
          self.actionSave.setText(_translate("notepad", "Save", None))
          self.actionSave.setShortcut(_translate("notepad", "Ctrl+S", None))
          self.actionSave_As.setText(_translate("notepad", "Save As", None))
          self.actionSave_As.setShortcut(_translate("notepad", "Ctrl+Shift+S", None))
          self.actionPaste.setText(_translate("notepad", "Paste", None))
          self.actionPaste.setShortcut(_translate("notepad", "Ctrl+V", None))
          self.actionCut.setText(_translate("notepad", "Cut", None))
          self.actionCopy.setText(_translate("notepad", "Copy", None))
          self.actionDelete.setText(_translate("notepad", "Delete", None))
          self.actionDelete_Line.setText(_translate("notepad", "Delete Line", None))
          self.actionSelect_All_2.setText(_translate("notepad", "Select All", None))
  </code></pre>
  
  <p>start.py:</p>
  
  <pre><code>#! /usr/bin/env python3.4
  
  import sys
  from PyQt4 import QtCore, QtGui
  from textedit import UI_notepad
  
  class StartQT4(QtGui.QMainWindow):
      """docstring for StartQT4"""
      def __init__(self, parent=None):
          QtGui.QMainWindow.__init__(self, parent)
          self.parent = parent
          self.ui = UI_notepad()
          self.ui.setupUi(self)
  
  if __name__ == '__main__':
      app = QtGui.QApplication(sys.argv)
      myapp = StartQT4()
      myapp.show()
      sys.exit(app.exec_())
  </code></pre>
  
  <p>I have a fairly good understanding of how importing works, but whatever I try I always get the error: </p>
  
  <pre><code>Traceback (most recent call last):
    File "E:\Python\Text Editor\start.py", line 5, in &lt;module&gt;
      from textedit import UI_notepad
  ImportError: cannot import name 'UI_notepad'
  </code></pre>