In this topic:

Overview

When you reference a class that has not been imported, PyCharm helps you locate this file and add it to the list of imports . You can import a single class or an entire package, depending on your settings.

The import statement adds to the imports section, but the cursor does not move from the current position, and your current editing session does not interrupt. This feature is known as the Import Assistant.

To configure the way auto-import works, open the PyCharm settings, and then go to the Editor: Auto Import page.

The same possibility applies to the XML files. When you type a tag with an unbound namespace, import assistant suggests to create a namespace and offers a list of appropriate choices.

Importing packages on the fly

To import packages on-the-fly, follow these steps:

  1. Start typing a name in the editor. If the name references a class that has not been imported, the following prompt appears:

    python_import

    If the pop-up annoys you, change this behavior for the current file. Just click Hector hector.gif in the Status bar, and clear the check box Import Pop-up:

    import_popup

    The unresolved references will be underlined, and you will have to invoke intention action Add import explicitly.

  2. Press Alt+Enter. If there are multiple choices, select the desired import from the list.

    python_import1. choose imported classes

PyCharm provides a quick fix that automatically installs the package you’re trying to import: if, after the keyword import, you type a name of a package that is not currently available on your machine, a quick fix suggests you to either ignore the unresolved reference, or download and install the missing package:

py_import_inspection

Importing an XML namespace

To import an XML namespace, follow these steps:

  1. Open the desired file for editing, and start typing a tag. If a namespace is not bound, the following prompt appears:

    unboundNameSpace1.png

  2. Press Alt+Enter. If there are multiple choices, select the desired namespace from the list.

    unboundNameSpace2.png