25 March 2019

Which IDE to choose for Python?

If you have a computer with a minimum of 4GB (but recommended 8GB) RAM, go for PyCharm (but I didn't like the interface much, so I'd still recommend LiClipse).

For those who don't want to upgrade their RAM so soon, the next best option is either LiClipse or VS Code
LiClipse is a light-weight version of Eclipse that has PyDev pre-installed. So no hassles of a separate PyDev installation. I recommend LiClipse is because of refactoring and autocomplete, but it has the same bloated, unintuitive, annoying interface of Eclipse where you have to spend an eternity searching the IDE for commonly used functionalities. 
If you dislike Eclipse, try VS Code. One advantage of VS Code is that it does not force you to have only one entry-point for your code. You can open any file in a project and run it. I did find it slightly more annoying to use, compared to LiClipse. Moreover, on someone else's laptop, even though it had 32GB RAM, a 1TB SSD, an i7 Intel processor with 12 cores and an NVidia gaming graphics card, VS Code's IDE performed so slowly that I decided to switch back to LiClipse. Pressing Ctrl+Spacebar to auto-complete variable names would take more than 15 to 20 seconds. Renaming all instances of a local variable in a 50 line function would take more than half a minute. This was probably due to the project having many files, but the algorithms used in VS Code are massively sub-optimal.
 
Back to LiClipse. I'm not an Eclipse fan, and was rather amused and almost nodding my head in agreement when I read Jason Fruit's review which said "Full disclosure: the word "Eclipse" in a programming context (or a literary one, for that matter) fills me with dread; in my mind, Eclipse is a pig strapped to a dog strapped to a whale. I'm reluctant to install Eclipse because it's such a large application; some would say bloated".


Other IDE's
  • I first tried IDLE and didn't like it because it didn't have a good number of IDE capabilities.
  • Then tried Netbeans (which I have a good amount of respect for), but the Python plugin for Netbeans didn't support autocomplete and refactoring.
  • This made me switch to Spyder, which had a nice UI, dark theme and autocomplete features, but no refactoring. I was also surprised they needed to create an entirely separate Spyder3 IDE too.
  • WingIDE supports refactoring only in the paid version. 
  • There's Komodo IDE which might be good but I didn't look into because it has a paid version and I was quite sure many features would be disabled in the free version. 
  • Eric IDE already had some poor reviews, so didn't bother with it. I personally didn't like the look of the IDE either. 
  • Sublime Text was surprisingly un-intuitive. Given its popularity, I guess it's just me that is unfamiliar with the capabilities of the IDE.

Finally found out that LiClipse existed, and after the annoying run configuration settings, I'm actually liking it. Especially because of the refactoring support. LiClipse does still have bugs with its graphics and menu's, but it wasn't too annoying.


Putting LiClipse into the Ubuntu start menu:

In the terminal, run the command:
sudo -H gedit /usr/share/applications/LiClipse.desktop
Alternatively, if you don't want to give it sudo permissions, you can install it only for the local user by using:
gedit ~/.local/share/applications/LiClipse.desktop

In the file, paste the following:
[Desktop Entry]
Version=1.0
Name=LiClipse
Comment=Lightweight Eclipse
GenericName=IDE
Keywords=IDE, PyDev, Eclipse, LiClipse
Exec=/home/nav/liclipse/LiClipse %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/home/nav/liclipse/icon.xpm
Categories=GNOME;GTK;
StartupNotify=true

The desktop entry specification is here. Make sure you modify the file paths (shown in green) in the above code. The "%u" is so the desktop manager knows what to do if you open multiple selected objects at the same time or drop one or more objects on it. It's not really necessary.

That's it. Save and exit and you'll see LiClipse in the start menu.


No comments: