Integrated Development Environments (IDE)

From Sustainability Methods
Revision as of 13:36, 15 August 2024 by Gustavo (talk | contribs)

Still in Edition Mode

What is an IDE?

You have installed Python and its distribution or package manager, now what? The next important question is where are you going to write and run your Python code?

You can basically write Python code in any text editor applications such as Windows Notepad or macOS TextEdit, and then run it in your terminal command line (Windows Powershell or macOS terminal). For example, you can a create a very short python script:

name = "gustavo"
print("Hello world! My name is " + name)

You save the text file as “myscript.py” and then run it in the terminal as follows:

(base) user91@mycomputer ~ % python myscript.py
Hello world! My name is Gustavo

However, in very few exceptions people run python in this way. Normally, what is used is a Integrated Development Environment (IDE). These IDEs are applications where you can write and run Python code in an easier and more comfortable way. For example, this is the same python code but run in a Jupyter Notebook:

Example of an IDE (JupyterLab) looks like. Source: own

The difference between both are noticeable. Coding in an IDE provides several advantages or functionalities, for example, the text color. In the above Jupyter Notebook example, you can see that the variable name is in white, the string value is in red, the function print() is in green. This allows you to better identify the several components of your code. In this sense, working in an IDE helps you to better understand and read your code, and track errors. Depending on the IDE, you get different functionalities such as autocompletion, file management, version control, automation tools, visualization, etc.

Among the most popular IDEs are JupyterLab (which contains Jupyter Notebooks), Visual Studio, RStudio Code and PyCharm, however the latter is more dedicated for python web development. It is recommended to first try IDEs that are free of cost such as JupyterLab and Visual Studio Code, and select the one that works best for you. Important about these IDEs is that you don’t need necessarily internet connection to run them or to work with them. Check this entry to know more about the logic of coding in notebooks.

Anaconda distribution contains several free and paid IDEs that you can try out right awat. If you don’t want to use an IDE for now, you can also use a web application called “Google Colab”, which offers a development environment in the notebooks format. If your computer is not powerful enough for some data science tasks, you can use Google Colab and either use it for free and pay for extra computational power if needed (for example purchasing some GPU's). However, you need a stable internet connection for this. Check this entry to get started with Google Colab.

JupyterLab

JupyterLab is an evolution of a Jupyter Notebook, both created as part of the non-profit and open-source Jupyter Project. A Jupyter Notebbok is a coding environment where you can combine text/markdown cells with code cells and run the code cells independently instead of running the whole python script. Nonetheless, Jupyter Lab not only allows you to work with Jupyter Notebooks, but also with conventional python scripts, text and markdown files. In this interface you can also open and read excel files (both .xlsx and .csv) and pdfs, and have access directly to your computer's terminal. In the image below, you can see an example of JupyterLab interface.

JupyterLab interface. Source: own

For installing Jupyter Lab, check the instructions on their installation page; however, there are no graphic user interface installers. You have to use the terminal and use a package manager (either pip or conda) to install it.

Visual Studio Code

Visual Studio Code (VS Code) is a free, open-source code editor developed by Microsoft. It's popular for its versatility, customization options, and extensive features that cater to various programming languages and development tasks. VS Code is lightweight, but its functionality can be extended significantly through plugins and extensions. It runs seamlessly on Windows, macOS, and Linux; and it offers all functionalities of an IDE: autocompletion, debugging and version control management. Although VS Code users tend to write code in it in format

      1. Functionalities of VS Code

VS Code offers a rich set of features that enhance the developer experience:

- **Syntax highlighting and code completion:** Provides color-coded syntax highlighting for different programming languages, making code easier to read and understand. Code completion suggests code snippets as you type, accelerating development. - **Integrated terminal:** Eliminates the need to switch between separate terminal windows. You can run code, navigate your file system, and interact with the command line directly within VS Code. - **Git integration:** Seamless integration with Git allows you to version control your code, track changes, and collaborate with others effectively. - **Debugging tools:** Built-in debugging features enable you to step through code line by line, inspect variables, and identify errors efficiently. - **Customization:** VS Code allows extensive customization through themes, keyboard shortcuts, and a vast marketplace of extensions. You can tailor the editor to your specific workflow and preferences

Other IDEs

Pycharm is a