PyCharm 2017.3 EAP 5

Posted on by Ernst Haagsman

The latest and greatest early access program (EAP) version of PyCharm is now available from our website:

Get PyCharm 2017.3 EAP 5

New Interface for Interpreter Selection

In recent times, PyCharm has added more and more advanced ways of configuring your project interpreter. In addition to your regular system Python and virtualenvs based on it, we now also support Conda environments, interpreters on remote machines through SSH, within Docker containers, and in Vagrant boxes. This list is likely to grow in the future as the Python community adapts new ways to isolate dependencies.

The interface that we’ve used to configure these interpreters has slowly been adapting to accommodate new ways of configuring an interpreter. The time has come to overhaul it, both to make it more intuitive to use now, and to be ready for future expansion.

No More Long List

In the project interpreter settings, there is a dropdown, which contains all the virtualenvs you’ve ever used in PyCharm. If you have many projects which all have their own virtualenv, this becomes a very long list. Yet, for the project you’re working on most of them are irrelevant.

This changes in PyCharm 2017.3, the project interpreter dropdown will only have the virtualenvs you have specifically configured for that project, and virtualenvs that you’ve specifically configured to be shared between projects.

Interpreter List

Creating New Virtualenvs Made Easy

If you want to configure a new interpreter for your project, use the gear icon, and choose either ‘Add Local’ or ‘Add Remote’. Local interpreters are those that run directly on your operating system, remote interpreters include Docker and Vagrant in addition to remote computers you connect to through SSH.

Add Local

Let’s have a look at the new Add Local dialog:

Add Local Dialog

This makes it very easy to configure a new virtualenv. If you’d like to reuse an existing virtualenv, you can choose it under ‘Existing virtualenv’. And if you’d like to reuse that virtualenv for further projects in the future, you can check ‘Make available to all projects’ and it will appear in the dropdown on the project interpreter page for all projects.

As we know the decision where to place virtualenvs is a choice that users like to make for themselves, we’ll remember where you placed the virtualenv the previous time. Whether that’s inside your project, or in a separate directory.

For users of virtualenvwrapper and similar tools, we’ve added some intelligence to the existing virtualenv section, and if we find a virtualenv that looks like it belongs to this project (if the name matches, either fully or partially), we’ll preselect it. That means that after setting up your project with mkvirtualenv, after opening PyCharm you’ll be prompted to configure an interpreter, and you’ll most likely only have to click ‘OK’ to confirm.

Also New in this Version

Syntax Highlighting for Function Calls

An oft-requested small improvement to our syntax highlighting: you can now customize the color of function calls in your code. By default, they’re set to black, but you can change them in the settings: Editor | Color Scheme | Python.

Function Call Highlighting

SSH Config File Support

If you’re using a bastion host (also referred to as a jump host), you’ll be very happy to know that PyCharm 2017.3 supports SSH config files. Even on Windows. Just write an OpenSSH style config file in `~/.ssh/config` or `/etc/ssh/ssh_config` and choose “OpenSSH Authentication”. 

Further Improvements

  • Fast autocompletion from the command history in the Python console. For example, to import something you’ve imported recently, just type `im` and then use the up and down arrow keys to find the import.
  • Asynchronous evaluation of variables in the debugger, if you have large objects in your code, you will now be able to see the simple values while the large objects are still loading. Very useful if you have large DataFrames. 
  • Are you using Django together with a JavaScript framework that also uses curly braces in HTML files? You can now disable Django template autocompletion for these files, and get the proper support for the JS framework instead. To do this, right-click the folder that contains the HTML files and click Mark Directory as | Resource Files.
  • We’ve added support for Twisted Trial unit tests
  • And more, have a look at the release notes for details

If these features sound interesting to you, try them yourself:

Get PyCharm 2017.3 EAP 5

As a reminder, PyCharm EAP versions:

  • Are free, including PyCharm Professional Edition EAP
  • Will work for 30 days from being built, you’ll need to update when the build expires

If you run into any issues with this version, or another version of PyCharm, please let us know on our YouTrack. If you have other suggestions or remarks, you can reach us on Twitter, or by commenting on the blog.

Comments below can no longer be edited.

6 Responses to PyCharm 2017.3 EAP 5

  1. Kevin Turner says:

    October 17, 2017

    This has a few fixes I have long anticipated! *Especially* the “Django together with a JavaScript framework” support.

    I’d love more information about what a “resource root” is. My AngularJS templates are in the same directory as their JavaScript sources. Will having JavaScript (or EcmaScript / TypeScript) sources under a Resource Root have any impact on how those files are treated?

    • Paul Everitt says:

      October 17, 2017

      I’ve done a lot of AngularJS (and now Angular and React) with PyCharm. I haven’t had to worry much about the Resource Root, primarily because I’ve always used CommonJS or ES6 modules and that resolution did the trick.

      Give it a try and if you have any questions, reply on this blog post and we’ll respond.

  2. Scott Palmer says:

    October 19, 2017

    I just tried your snap on a fresh Ubuntu 17.10 and the desktop launcher entry that PyCharm creates (for all users) is not recognized as the parent application of the windows that it creates. An additional entry is added in the dock with no icon that is seen as the parent.

  3. Fabien Tarrade says:

    May 17, 2018

    Hello everybody,

    Is there a way in pycharm to SSH a local host (only localhost and port, no password). I am not authorize to install OpenSSH on my Windows 7 machine.I have a bastion host and I am using PUTTY to foward it as a local host. Unfortunatley enven with the latest version I didn’t manage to have it working, I can ssh from pycharm other linux server without any issue. I am sure people managed to do it put up to know I didn’t find what is missing in my setup.

    Waiting to have it working to get a paid licence.

    Thanks

    • Fabien Tarrade says:

      May 17, 2018

      Issue fixed (localhost 0.0.0.0 versus 127.0.0.1

Subscribe

Subscribe for updates