Python interpreter support
Having good interpreter support is essential for any IDE. If your IDE doesn’t know about certain language constructs or can’t connect to the interpreter of your choice, development turns hard. Both Komodo and PyCharm support the latest Python 3.5 and the new language constructs (such as the awesome asyncio).
I have found that Komodo handles the basic options such as local Python 2 and Python 3 interpreters very good. You won’t have any problems switching between interpreters while working on different projects or even in the same project.
Setting up a remote interpreter in Komodo is (compared to PyCharm) quite the hurdle to pass. You are required to manually install a number of tools on the remote host to setup and start a remote debugging session. My attempts to get a remote interpreter / debugging session working using Komodo weren’t successful and I was too time constrained to search for a working solution.
PyCharm has extensive support for both local and remote interpreters. You can setup any number of interpreters and use them in your projects. PyCharm supports remote interpreters over SSH, in Vagrant virtualmachines and in Docker images. You can also create local virtualenvironments straight from the PyCharm IDE.
Running a Python application from the PyCharm IDE requires you to create a run configuration. Using these configurations you can specify what script to run, what interpreter to use and various other options.
The PyCharm run configurations also tie in closely with the framework support that PyCharm offers. Creating a run configuration for any of the supported web frameworks allows you set host and port options for example. Creating a Grunt run configuration allows you to enter the required Gruntfile and select the appropriate tasks, and so on.
Setting up a remote interpreter is very easy using PyCharm. You can add a remote interpreter via an SSH connection, a Vagrant VM or a Docker box. Setup your credentials or the path to the virtual machine and PyCharm will connect to the remote interpreter. Available packages will be indexed and you can easily install new packages via pip straight from the PyCharm UI.
Starting a remote debugging session was a matter of simply creating a new run configuration that pointed to the correct remote interpreter. PyCharm handled the debugging just like debugging a local application.
In a basic workflow both IDE’s are sufficiently capable of handling multiple interpreters, both local and remote. PyCharm has a more polished and extensive feature set than Komodo, a plus for both beginners (easy to setup) and experts (more powerful).