Skip to main content
Redhat Developers  Logo
  • AI

    Get started with AI

    • Red Hat AI
      Accelerate the development and deployment of enterprise AI solutions.
    • AI learning hub
      Explore learning materials and tools, organized by task.
    • AI interactive demos
      Click through scenarios with Red Hat AI, including training LLMs and more.
    • AI/ML learning paths
      Expand your OpenShift AI knowledge using these learning resources.
    • AI quickstarts
      Focused AI use cases designed for fast deployment on Red Hat AI platforms.
    • No-cost AI training
      Foundational Red Hat AI training.

    Featured resources

    • OpenShift AI learning
    • Open source AI for developers
    • AI product application development
    • Open source-powered AI/ML for hybrid cloud
    • AI and Node.js cheat sheet

    Red Hat AI Factory with NVIDIA

    • Red Hat AI Factory with NVIDIA is a co-engineered, enterprise-grade AI solution for building, deploying, and managing AI at scale across hybrid cloud environments.
    • Explore the solution
  • Learn

    Self-guided

    • Documentation
      Find answers, get step-by-step guidance, and learn how to use Red Hat products.
    • Learning paths
      Explore curated walkthroughs for common development tasks.
    • Guided learning
      Receive custom learning paths powered by our AI assistant.
    • See all learning

    Hands-on

    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.
    • Interactive labs
      Learn by doing in these hands-on, browser-based experiences.
    • Interactive demos
      Click through product features in these guided tours.

    Browse by topic

    • AI/ML
    • Automation
    • Java
    • Kubernetes
    • Linux
    • See all topics

    Training & certifications

    • Courses and exams
    • Certifications
    • Skills assessments
    • Red Hat Academy
    • Learning subscription
    • Explore training
  • Build

    Get started

    • Red Hat build of Podman Desktop
      A downloadable, local development hub to experiment with our products and builds.
    • Developer Sandbox
      Spin up Red Hat's products and technologies without setup or configuration.

    Download products

    • Access product downloads to start building and testing right away.
    • Red Hat Enterprise Linux
    • Red Hat AI
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat Developer Toolset

    References

    • E-books
    • Documentation
    • Cheat sheets
    • Architecture center
  • Community

    Get involved

    • Events
    • Live AI events
    • Red Hat Summit
    • Red Hat Accelerators
    • Community discussions

    Follow along

    • Articles & blogs
    • Developer newsletter
    • Videos
    • Github

    Get help

    • Customer service
    • Customer support
    • Regional contacts
    • Find a partner

    Join the Red Hat Developer program

    • Download Red Hat products and project builds, access support documentation, learning content, and more.
    • Explore the benefits

Get Started: Eclipse and Python with PyDev in Developer Toolset 4.0

November 16, 2015
Matthew Booth
Related topics:
Developer toolsLinuxPython
Related products:
Developer ToolsetRed Hat Enterprise Linux

    Python logo

     

    eclipse-426x100

    Starting from Developer Toolset 4.0 we have added the Eclipse PyDev tooling for writing and debugging Python applications. This article aims to give new users a whirlwind tour of some of the key features.

    Installing and Configuring

    PyDev is installed by default when you install the IDE component of DTS 4.0:

    $ sudo yum install devtoolset-4-ide

    Once you've launched Eclipse, the first thing you need to do is configure an interpreter to use. Open the preferences dialog by choosing "Preferences" from the "Window" menu, then navigate to the "PyDev -> Interpreters -> Python Interpreter" preference node. Simply hit the "Quick Auto-Config" button to automatically discover and configure the first Python interpreter that is encountered in your PATH.

    Interpreter Preferences

    It's worth knowing that not only does PyDev work well with the default version of Python that ships with RHEL, it also works with the Python Software Collections. For example, if you'd like to work with Python 3 then you can also install the rh-python34 software collection:

    $ sudo yum install rh-python3

    And then to use the version of Python from this Software Collection with PyDev, you must start Eclipse with the relevant collection enabled by using the special scl command:

    $ scl enable devtoolset-4 rh-python34 eclipse

    Now when you configure the interpreter in the preferences, hitting the "Quick Auto-Config" button will automatically discover and configure the Python interpreter from the rh-python34 collection. Hitting the "Advanced Auto-Config" button will allow you choose which interpreter to configure out of all the possible interpreters installed on your system.

    Interpreter Preferences

    Your First Python Program

    Creating a new Python project is done by choosing "New... Project" from the "File" menu. Select the "PyDev -> PyDev Project" type to create a simple Python project. Here you can choose which version of the Python grammar you'd like to use and which of the interpreters you configured earlier you'd like to use, before hitting the "Finish" button.

    In this case, I've chosen to use Python 3 syntax with the Python interpreter from the rh-python34 collection, but they can be changed later if I change my mind:

    New Project

    When prompted, it's a good idea to choose to switch to the "PyDev Perspective" since this perspective contains PyDev-specific views, menus and short-cuts.

    At this point we are ready to start creating modules and writing some code. To create a new module, right-click on the project in the "PyDev Package Explorer" and choose "New... PyDev Module." Here you can enter the module name and package name and once you hit the "Finish" you will be given a choice of templates on which to base your new module, choose a module type to generate a module with some boilerplate code or choose "<Empty>" to simply create an empty Python module.

    If you entered a dotted package name when creating your module then PyDev will automatically create all the nested package hierarchy needed for your module, if it does not already exist. For example, add a new module main in the package hello.world will result in the following project layout:

    Project Layout

    Let's add some code to the newly created main module:

    '''
     Created on 10 Nov 2015
     @author: mbooth
    '''
    
    def mats_add(a,b):
        c = a + b
        return c
    
    if __name__ == '__main__':
        print(mats_add(5, 10))

    Since we created a Python 3 project, we obviously have to treat print as a function and surround its arguments with parentheses. If we wished to use Python 2.x syntax, we'd have to change the project's interpreter settings by right-clicking the project in the "PyDev Package Explorer", choosing "Properties" and changing the settings found in the "PyDev - Interpreter" section.

    To run the program, right-click the module in the "PyDev Package Explorer" that contains the main function and choose "Run As... Python Run." A console view will appear to display the results of running the program.

    Debugging

    It's easy to start debugging your program. To add breakpoints, right-click in the code-editor margin and choose "Add Breakpoint" from the context menu. A green spot will appear in the margin to indicate the location of your breakpoint:

    Breakpoints

    To debug the program, right-click the module in the "PyDev Package Explorer" that contains the main function and this time choose the "Debug As... Python Run" option from the context menu. This will run the program with the debugger attached. Again, when prompted it is a good idea to switch perspective to access all the debugging-specific views, menus and short-cuts.

    When the program halts at a breakpoint, you are able to view and modify variables in the "Variables" view or configure watch expressions in the "Expressions" view so you can monitor values while you step through the execution of the program:

    Debugging

    Other Cool Features

    Code Completion and Analysis

    The PyDev code editor features a code-completion feature that shows a list of boilerplate patterns and tokens found in the project's pythonpath for you to choose from. It will automatically add an import for the module that contains the desired token when selected. The code completion will appear automatically, but can also be summoned manually by typing "Ctrl + Space."

    Code Completion

    The PyDev code editor is also able to do some kinds of analysis of your code too, such as detecting unused variables and imports, duplicate function signatures and checking PEP8 conformance. These options can be configured in the preferences.

    PyDev Console

    From the console view, if you hit the "Open Console" drop-down menu and choose "PyDev Console" then you get access to full Python REPL inside Eclipse, where you can use a Python interpreter interactively like you would if you invoked python directly from the terminal. You even get the same code-completion features as you do in the PyDev code editor described above:

    PyDev Console

    Django Support

    It's possible to work on Django-based projects with PyDev by selecting "PyDev Django Project" when creating a new project. In order to run and debug Django projects, it is necessary to install Django from the Extra Packages for Enterprise Linux (EPEL) repository. For RHEL 7:

    $ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    $ sudo yum install python-django

    PyUnit Integration

    If your project has unit tests, then you can also execute those within PyDev by right-clicking the module in the "PyDev Package Explorer" that contains the the tests and choosing the "Run As... Python unit-test" option from the context menu. The "PyUnit" view will show a report of the test run, including details of any failures and exactly where the failures occurred:

    PyDev Unit Tests

    Last updated: November 1, 2023

    Recent Posts

    • Debugging image mode with Red Hat OpenShift 4.20: A practical guide

    • EvalHub: Because "looks good to me" isn't a benchmark

    • SQL Server HA on RHEL: Meet Pacemaker HA Agent v2 (tech preview)

    • Deploy with confidence: Continuous integration and continuous delivery for agentic AI

    • Every layer counts: Defense in depth for AI agents with Red Hat AI

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer tools
    • Interactive tutorials
    • API catalog

    Quicklinks

    • Learning resources
    • E-books
    • Cheat sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site status dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2026 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Chat Support

    Please log in with your Red Hat account to access chat support.