Learning resources to go through
A fun way to directly dive into Python is Automate the Boring Stuff with Python, the online book version(paperback version also available). The projects are small and fun. I personally tried some of them and some of my own. They are available on my Github page. I found Codeacademy to be very useful and usually went with the free plan.
Apart from Python, R has also established its place to be a very useful language for Data Science projects. It makes it very easy for rapidly prototyping your dataset, especially the data cleaning part. I have also covered an article on how to getting started with R, which may prove useful to you.
From my experience, using Python and R hand-in-hand brings out the best of both the languages.
Nowadays, knowing Python has become a necessary skill.
Be it front-end, back-end development as well as data science. Be it for internships or your very own research project, almost everyone whom I have encountered, either uses only Python or Python is their primary. So many well-crafted packages, active open-source contribution community and minimalist coding style, makes it much easy to learn, grasp as well as maintain, as your codebase scales both in size as well as in complexity.
Setting up your Python environment
Follow the official documentation to set up your Python environment. I will cover the list of important packages that you will need in another blog.
A strongly advised solution to avoid hassles of installing packages and addressing broken dependencies, especially for someone who wants to try ML for the first time in practice, is Anaconda. Follow the official documentation and you should not have any problem.
Relevant references and websites to look out for
There are a lot of well-documented tutorials of setting up your Python environment. I will suggest you consider the following websites as a dependable source of reference :