Installation is pretty self-explanatory and very well described in the official Python download page which I have linked here
Make sure you download the latest version of Python (3.8.3 as of now) to take advantage of the latest features.
Python Developer Tools
a) Code Editors ( Light-weighted applications. )
b) IDEs ( Comes integrated with all tools required for development, testing, debugging )
- Jupyter Notebooks (Used for Machine Learning and Data Science)
Python Extensions for VS Code
If using VS Code as the code editor, these extensions might come handy for more Python friendly development experience
- VS Code Python by Microsoft
- Python Docstring by Nils Werner
- Better Commentshttps://github.com/aaron-bond/better-comments
https://www.python.org/dev/peps/pep-0008/ is a style guide for Python Code. VS Code will prompt installation of autopep8 formatter when trying to format Python code. It will format Python code as per the specifications. An IDE like PyCharm comes with a Pep8 formatter baked in.
Anaconda is a package manager, an environment manager, and Python distribution that contains a collection of many open source packages (numpy, scikit-learn, scipy, pandas to name a few). Additional packages after installing Anaconda, can be installed by using Anaconda’s package manager, conda or pip to install those packages. Conda even makes it easy to switch between Python 2 and 3 (you can learn more about it here). In fact, installation of Anaconda is also a common way to install Jupyter Notebooks.
There is another distribution package available called Minoconda, a stripped-down version of Anaconda for computers with memory constraints.
Developer Environment is something which can be a reason for procrastination figuring out the latest and greatest tool for development. So sticking to an IDE or code editor is better. It's way better to feel very comfortable with a single editor rather than knowing tons of applications in bits and pieces. It's good to know the tools and technologies that are available but frequent switching of tools just due to their popularity is not essential always.
That's it, folks. I covered the topics which were part of the week 1 roadmap. It's time to enter the more advanced territory of Python exploring programming paradigms such as Object-Oriented style and Functional Style. Will start with OOP concepts with Python tomorrow.
Have a great one!