Pycharm - Quick Guide



Pycharm - Introduction

PyCharm is the most popular IDE used for Python scripting language. This chapter will give you an introduction to PyCharm and explains its features.

PyCharm offers some of the best features to its users and developers in the following aspects −

  • Code completion and inspection
  • Advanced debugging
  • Support for web programming and frameworks such as Django and Flask

Features of PyCharm

Besides, a developer will find PyCharm comfortable to work with because of the features mentioned below −

Code Completion

PyCharm enables smoother code completion whether it is for built in or for an external package.

SQLAlchemy as Debugger

You can set a breakpoint, pause in the debugger and can see the SQL representation of the user expression for SQL Language code.

Git Visualization in Editor

When coding in Python, queries are normal for a developer. You can check the last commit easily in PyCharm as it has the blue sections that can define the difference between the last commit and the current one.

Code Coverage in Editor

You can run .py files outside PyCharm Editor as well marking it as code coverage details elsewhere in the project tree, in the summary section etc.

Package Management

All the installed packages are displayed with proper visual representation. This includes list of installed packages and the ability to search and add new packages.

Local History

Local History is always keeping track of the changes in a way that complements like Git. Local history in PyCharm gives complete details of what is needed to rollback and what is to be added.

Refactoring

Refactoring is the process of renaming one or more files at a time and PyCharm includes various shortcuts for a smooth refactoring process.

User Interface of PyCharm Editor

The user interface of PyCharm editor is shown in the screenshot given below. Observe that the editor includes various features to create a new project or import from an existing project.

PyCharm Editor

From the screenshot shown above, you can see the newly created project Demo and the site-packages folder for package management along with various other folders.

You can download the PyCharm Editor and read its official documentation at this link − https://www.jetbrains.com/pycharm/

Pycharm - Installation

In this chapter, you will learn in detail about the installation process of PyCharm on your local computer.

Steps Involved

You will have to follow the steps given below to install PyCharm on your system. These steps show the installation procedure starting from downloading the PyCharm package from its official website to creating a new project.

Step 1

Download the required package or executable from the official website of PyCharm https://www.jetbrains.com/pycharm/download/#section=windowsHere you will observe two versions of package for Windows as shown in the screenshot given below −

Download Pycharm

Note that the professional package involves all the advanced features and comes with free trial for few days and the user has to buy a licensed key for activation beyond the trial period. Community package is for free and can be downloaded and installed as and when required. It includes all the basic features needed for installation. Note that we will continue with community package throughout this tutorial.

Step 2

Download the community package (executable file) onto your system and mention a destination folder as shown below −

Install Location Installed Folder

Step 3

Now, begin the installation procedure similar to any other software package.

Menu Folder Installing Pycharm

Step 4

Once the installation is successful, PyCharm asks you to import settings of the existing package if any.

Completing Pycharm Welcome Pycharm Create Project

This helps in creating a new project of Python where you can work from the scratch. Note that unlike other IDEs, PyCharm only focusses on working with projects of Python scripting language.

Pycharm - Understanding Basics

This chapter will discuss the basics of PyCharm and make you feel comfortable to begin working in PyCharm editor.

When you launch PyCharm for the first time, you can see a welcome screen with entry points to IDE such as −

  • Creating or opening the project
  • Checking out the project from version control
  • Viewing the documentation
  • Configuring the IDE
Pycharm Basics

Recall that in the last chapter, we created a project named demo1 and we will be referring to the same project throughout this tutorial. Now we will start creating new files in the same project to understand the basics of PyCharm Editor.

Demo Project

The above snapshot describes the project overview of demo1 and the options to create a new file. Let us create a new file called main.py.

The code included in main.py is as follows −

y = 3

def print_stuff():
   print ("Calling print_stuff")
   print (y)
   z = 4
   print (z)
   print("exiting print_stuff")
	
print_stuff() # we call print_stuff and the program execution goes to (***)
print(y) # works fine
print (z) # NameError!!!

The code created in the file main.py using PyCharm Editor is displayed as shown below −

Main Project

This code can be run within IDE environment. The basic demonstration of running a program is discussed below −

Run Main

Note that we have included some errors within the specified code such that console can execute the code and display output as the way it is intended to.

Display Output

Pycharm - Keymaps

PyCharm includes various Keymaps to show the most-used commands in the editor. This chapter discusses Keymaps in detail.

You can find the list of Keymaps available in the file menu Help -> Keymap Reference as shown in the screenshot given below −

Keymap Reference

You can find the list of Keymaps and the available shortcuts in PDF format as shown below −

PDF Format

Note − The default Keymap for Windows and Linux operating systems is default, while in Mac OS the default Keymap is OSX 10.5.

You can also view the list of Keymaps available using the Settings option in Windows and Linux Operating system (Preferences in Mac OS) as shown in the screenshot given below −

Settings

The default Keymap includes various sections for Editor Actions, Main Menu, Tool Windows, External tools, Version Control System, Macros, Quick Lists, Plug-ins and Other options as well.

Pycharm - Shortcuts

Shortcuts are the combinations of keys being used to perform a set of activities. You can find the list of PyCharm shortcuts in Keymaps guide reference.

Finding Shortcut

The list of shortcuts is available in the following option Help -> Find Action menu where it pops up with a shortcut window.

Finding Shortcut

You can see the shortcut window as shown here −

Shortcut Window

The shortcut includes a list of Identifiers, shortcuts with functions and option menu bar.For example, View Navigation Bar includes toggle ON and OFF which displays the navigation bar as per the value set (ON and OFF).

Pycharm - Omni

Omni is the section in PyCharm which deals into anywhere from any place. It includes various tools for a user to move from one place to another. It helps in such a scenario that you need to quickly move from one project directory into another. This chapter will familiarize you with the functionalities of Omni.

Functionalities

The Navigate menu describes the functionalities involved in Omni. This section discusses these in detail −

Class

This helps to navigate from one class to another in a mentioned project. This is very helpful to navigate through a list of classes.

Class

Back

This option helps to move backwards from the existing state. The shortcut key is Ctrl+Alt+Left.

Back Option

Forward

It works similar to the back option. However, the functionality is completely vice-versa.

Forward

Pycharm - Macros

The difference between a macro and Omni is subtle in PyCharm Editor. Omni allows you to go to the exact location of editor or a specified place of code with no particular significance. Macro on the other hand allows the user to navigate through functions and classes or particular class method.

Navigate Macro

Observe the following screenshot for a better understanding of Navigate macro −

Navigate Macro

The Navigate -> Declaration helps to show declaration, type declaration and to define super methods. Various attributes included in the type declaration are shown below −

Navigate Declaration

However, there is an issue with this macro, if a user tries to go to the declaration of a .so object for example, navigating from datetime module to select module, then each time it will encounter the stub file.

Search Everywhere

It helps to search the classes and associated methods. It includes the option to search with Google as well.

Search Anywhere

Each of these parts includes a shortcut key combination next to its section name. Search Everywhere is a gateway to other search actions available in PyCharm.

Pycharm - Micros

Micros deal with getting places within a specified file. These tools end up using most of the development procedure. In this chapter, you will learn Micro in detail.

Consider the example of Structure Panel which is being used as representation of micros.

Scroll from Source

It helps to scroll from the mentioned source like the complete folder location of the specified file.

Scroll Source

Collapse All

Consider the screenshot shown below which shows opening the file with specified location.In order to collapse the folder structure, you can use the shortcut key shown in the image.

Collapse

This shortcut key helps in collapsing the folder location of specified code as shown below.

Collapsing

Show Options menu

The Show Options menu of the structure panel of project displays the list of options available for the project created. Observe the screenshot shown below for a better understanding −

Show Options Menu

The list of options is displayed below −

List Option

Hide

This option helps to hide the structure panel of the project window. The user interface of the structure panel after being collapsed is as shown below −

Hide Hiding Option

You can reopen the structure panel as shown here −

Structure Panel

Pycharm - Improving and Writing Code

PyCharm includes various standards for writing code with proper indentations valid for Python. This makes it interesting to improve the code standards and writing the complete code in PyCharm editor.

Improving Code Completion

Code completion in PyCharm is really unique. You can enhance it further using many other features. Note that the editor provides start and end of the code block. Consider a file named demo.py with the following code −

message = 'GIEWIVrGMTLIVrHIQS' #encrypted message
LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

for key in range(len(LETTERS)):
   translated = ''
	
   for symbol in message:
      if symbol in LETTERS:
         num = LETTERS.find(symbol)
         num = num - key
         if num < 0:
            num = num + len(LETTERS)
         translated = translated + LETTERS[num]
      else:
         translated = translated + symbol
   print('Hacking key #%s: %s' % (key, translated))

The code is completed using the following construct −

Complete Code

If you press Ctrl + spacebar while this popup is on the screen, you can see more code completion options −

Spacebar Option

Intention Actions

PyCharm includes intent specific actions and the shortcut key for the same is Alt+Enter. The most important example of intentions at work is using language injection in strings.

The screenshot given below shows the working of intention actions −

Intention Actions

Note that we can insert many different languages of intention actions in PyCharm Editor.

Pycharm - Console

PyCharm has a full-fledged Python console with full code completion which is available in the option menu Tools -> Run Python Console.

Run Console

Consider the code which was mentioned in the previous chapter, as shown below −

message = 'GIEWIVrGMTLIVrHIQS' #encrypted message
LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for key in range(len(LETTERS)):
   translated = ''
   for symbol in message:
      if symbol in LETTERS:
         num = LETTERS.find(symbol)
         num = num - key
         if num < 0:
            num = num + len(LETTERS)
         translated = translated + LETTERS[num]
      else:
         translated = translated + symbol
   print('Hacking key #%s: %s' % (key, translated))

Now, let us run the code with the help of console to execute the script for getting the desired output, as shown below.

Desired Output

You can observe the output as shown below −

Final Output

Pycharm - Interpreters

PyCharm includes interpreters to create a new project with new features as the way it is needed. You can create a virtual environment in your system as the way you need it. You can also inherit global site packages in the dialog box. Interpreters are available on Python Package Index (PyPI) and can be easily installed and accessed using pip install.

Creation of Interpreter

For creating an interpreter, it is always recommended to create a new project where desired configurations are managed. Look at the following screenshot for a better understanding −

Creation Interpreter

These parameters include −

  • Location − This describes the parameter where virtual environment is created focusing on the location on system.

  • Basic interpreter − It defines the attributes of interpreter.

The dialog box also refers to the parameter where an existing virtual interpreter will be taken as an attribute. Once the user adds a new local interpreter, PyCharm will ask the user for the binary of interpreter. In most cases, it is always considered to be a .exe file. In case of Jython, it will be always a .bat file.

Python Intrepreter Untitled Project

The details of Project Interpreter and the basic configuration of the existing project demo1 can be seen as shown below −

Project Intrepreter

Remember that the interpreter also includes the basic packages which are mandatory for smooth functioning of working of project.

Pycharm - Debugging and Breakpoints

Running a python code comprises of two modes: running a script and debugging the script. This chapter focusses on debugging the Python script using PyCharm.

Steps Involved

The steps for debugging the Python project are as explained below −

Step 1

Start with debugging the Python project as shown in the screenshot below −

Debug Demo

Step 2

Now, Windows firewall asks permission for debugging the Python project as the procedure involves line by line compilation.

Windows Security

Step 3

The debugging console is created in PyCharm editor as shown below which executes the output line by line.

Debugging Console

The run button moves from one line to another to execute the output as the way we want.

Run Button

Understanding Breakpoints

While debugging a particular script, it is intentional to create a breakpoint. Breakpoints are intentional stopping place or the place where the code is paused in order to identify the output at specific stage.

Understanding Breakpoints

In PyCharm, breakpoints are visible using a separate dialog in the specified editor. It includes various attributes to evaluate the breakpoints defined and tracing log for the same with a main motive to achieve better programming practice.

Pycharm - Integration of Version Control

PyCharm supports various subversion control systems. This feature helps in improving the code base managing various versions together. This chapter talks about this concept in detail.

Steps Involved

You will have to go through the following steps for initializing and managing version control system −

Initializing a Subversion Control System

To start the version control system in a systematic way, it is important to initialize it. Various options are available in PyCharm for different version control systems.

Control System Version Control

Ignoring File

In any project of PyCharm where we set up the default project and the virtual environment on it, we should also create its management with version control system. For example, Git includes .gitignore files which are ignored during commit operation, however, includes some of its configurations. Now, go to the Settings menu and check for the following −

Ignoring File

It includes various configurations for checking the path of Git executable and verifying if any files are ignored.

Ignored File

Configuration of GitHub

PyCharm includes settings to include configuration of GitHub repository, where a user can include username, password and other credentials, if any.

Github

Once you are done with the settings mentioned, you can directly add and commit the local changes to Git repository.

Pycharm - HTML and CSS Integration

HTML and CSS are well supported in PyCharm Editor. PyCharm Editor includes a special shorthand and provides tag completion for HTML.

Emmet

Emmet is the shorthand used in PyCharm editor. It includes various features such as abbreviation preview, automatic URL recognition and edit points, for HTML and CSS files.The user interface of the settings section is shown in the screenshot given below −

Emmet

Creating HTML and CSS files

PyCharm includes an inbuilt feature for creating HTML and CSS files. The basic steps for creating new HTML and CSS files are as follows −

Creating Html

Now, mention the name of file while creating HTML files in the project as shown below −

Html File

This creates the sample-file.html file as shown below −

Sample File

Creating CSS file

The steps for creating a CSS file are shown here −

From the New menu, select the File option as shown below −

Creating Css

Specify the name of CSS during its creation as shown here −

Css Demo

You can see the complete project structure with various files mentioned in different color combinations as shown below −

Color Combination

Pycharm - JavaScript Support

In this chapter, we will focus on main features in using JavaScript in PyCharm editor. When a user implements JavaScript library through URL, PyCharm intends to download a local copy so it can be used for completion and code analysis.

Consider the sample code of our HTML file as shown below, which we created in the previous chapter −

Html Sample Code

For each HTML file or JavaScript file, you can check the external libraries loaded through Settings configuration of PyCharm Editor. Observe the screenshot shown below for a better understanding −

Javascript File

Note that you cannot see any library unless you download and implement it. PyCharm also includes JavaScript support of various libraries through a toolbox called JS Toolbox. The following screenshot shows this.

Js Toolbox

It also includes various attributes which are necessary for the JavaScript file configuration. The list of attributes and configurations is shown below −

List Attributes

Observe that it includes various parameters such as Unit test suffix, File suffix, View suffix, Search URL and the specific Root directory.

Pycharm - Tips

PyCharm includes various tips during startup that help its user to understand its functionalities and operations. It also includes some shortcuts which are mandatory to understand.

In this chapter, you will see some of the important PyCharm tips.

Changing the File to a Specific Changelist

This tip shows how to change the file to a specific changelist as per the user’s choice. This helps in managing repositories as per version control system settings. Observe the following screenshot for a better understanding −

Changing File

Display the List of all Usages in a Class

This function displays the list of all usages included in a specific class, method or variable across the project. It quickly enables the user to jump to specific area. Observe the following screenshot for a better understanding −

Display List

To find Menu Command for an Action

This tip helps to find menu command for a specific action and the shortcut key for the same is Ctrl+Shift+A. A user can select desired action from the mentioned suggestion list.

Menu Command

Running Inspection through a Code

This tip helps in running a specific inspection through the code. The shortcut key combination for the same is Ctrl+Alt+Shift+I.

Running Inspection

Specify the List of Settings

This tip is used to specify the list of desired settings. It includes smart keys for specific editor. The smart keys are shortcut keys for some operations.

Specify List

Run / Debug the Script Files

This tip is very useful for running or debugging the script files which you can access through main toolbar. The shortcut key combination for same is Alt+Shift+F10.

Debug Script Files

Pycharm - Database Tools

PyCharm supports interface support with various types of databases. Once a user grants access to the created database, it provides schema diagram of the database with SQL writing tools which provide code completion. In this chapter, we will focus on MySQL database connectivity which will involve following steps.

Adding a Data Source

It is important to keep a note that PyCharm supports a wide variety of database connectivity.

Step 1

Open the database tool window View -> Tool Windows -> Database> and open the dialog called Data Sources and Dialog.

Data Source

Now, select MySQL database for adding a new data source.

Step 2

User should download the missing driver files to get proper connectivity with MySQL database.

Sql Database

Step 3

Now, specify the configuration settings for connectivity to be achieved.

Host − If you database server is on a different computer, replace localhost with the IP address of the server host, e.g. 172.20.240.163.

Port − The default MySQL server port is 3306. If your server uses a different port, specify that port.

User and Password − These are the required credentials.

Step 4

Always make sure that database connectivity is successful through Test Connection feature.

Test Connection

Testing the connection also involves creating test table through query and executing them. Once the execution is successful, you can drop the database.

Execution

Pycharm - Exporting Data

PyCharm IDE includes various features for converting the existing code file into HTML format or CSV format. In this chapter, you will learn exporting data using PyCharm IDE.

The export settings of PyCharm editor are shown in the figure given below −

Export Settings

Export to HTML feature

This feature helps in exporting the specific file in HTML format. This is done to improve the security purposes of the given module. The following screenshot gives a better understanding −

Export Html

Once the export operation is successful, the generated HTML file will display in browser output as shown below −

Display in Browser

Now, if you check the HTML code generated after the export operation, you can observe that line numbers are also included to achieve this operation.

Export Operation

Pycharm - Web Frameworks

This chapter focusses on web frameworks and its deployment. PyCharm has a simple functionality to deploy code and files. To deploy code with PyCharm, we need to add a web server with Menu Option Settings -> Build, Execution-> Deployment.

Deployment

Now, include all the settings with various configurations required for deployment of the project.

Configuration

In the Mappings tab, a user can specify where the local code is and where it should be copied to remotely.

Mapping

The code can be deployed using Tools -> Deployment option under the Tools menu bar.

Deployment in PyCharm is very granular: a user can deploy one single file or the whole source code.

Tools Deployment

PyCharm also includes various actions to compare remote and local versions. The editor is more reliable to use automatic deployments and a version control system to compare local and remote versions.

Pycharm - Django

One of the features of PyCharm is that it includes a support for Django. With the ability of including JavaScript features within PyCharm, it can be considered as the best IDE for Django.

The basic steps for creating a Django project in PyCharm IDE are given below −

Pycharm Ide

If the EnableDjangoadmin option is enabled, PyCharm will setup the admin site for you.

Django

Template Debugging

Debugging works with Django and Jinja templates. We can inspect variables, step through code, and do what we expect in a debugger.

Template Debugging

Pycharm - Pyramid

You can create a project of Pyramid Framework in PyCharm editor by using its Welcome Window.

A user can set the project’s interpreter and Python location, choosing scaffold, and a template language by default. The scaffold in Pyramid framework uses URL dispatch to map URLs and to view code and SQLAlchemy for persistence properties.

Pyramid Framework

PyCharm editor will ask user with list of required packages in the setup.py file and prompts the user to download the required packages.

Setup

Install the project in development mode (refer to official documentation of Pyramid for more details). The user should run python setup.py through the menu Tools -> Run setup.py option.

Tools Setup

A user should select develop task while running a .py file as mentioned in the below window −

Develop Task

It is important to initialize the database using console script named initialize <project_name> using the following command −

initialize_pyramiddemo_db development.ini

The user can start the server by running the project which will display the result as shown below −

Project Name

Pycharm - Flask

PyCharm supports Flask framework development. You can easily create a new Flask project by creating new project through welcome screen. You can set the project’s location and the virtual environment and choose a template language and where the templates will be located.

Flask Framework

You can run a project by using Run -> Run ‘<project-name>’.

You can also add a new data source with this framework. Let us create a file called squema.sql and add SQL code to create some tables. PyCharm editor will recognize the files and asks you to configure a data source and set up to the database dialect.

Squema

PyCharm will let you choose the desired dialect that you want to use. You can change the properties of the SQL: Settings -> Language and Frameworks -> SQL Dialects

Language Framework

For flask editor, the easiest way to run the SQL query is to click somewhere in the query and click on the inspection window and click “Run Query into console “.

Run Query

The user interface of the Flask framework is displayed as below −

Flask Display
Advertisements