Local Development with Conda & Git
External Resources
- Crash course on Shell Scripting & Git - https://missing.csail.mit.edu/
- Git Branching and Merging: A Step-By-Step Guide - https://www.varonis.com/blog/git-branching
- WSL FAQ: https://docs.microsoft.com/en-us/windows/wsl/faq#how-do-i-use-a-windows-file-with-a-linux-app-
- iTerm2 installation - https://iterm2.com/
- WSL2 installation instructions - https://www.youtube.com/watch?v=A0eqZujVfYU
- More on Windows subsystem for Linux - https://docs.microsoft.com/en-us/windows/wsl/about
- Ubuntu installation - https://ubuntu.com/tutorials/ubuntu-on-windows#4-install-ubuntu-for-windows-10
- Windows Terminal installation - https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab
- Command Line crash course - https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line
- Command Line cheatsheet - https://www.git-tower.com/blog/command-line-cheat-sheet/
- Miniconda installation - https://docs.conda.io/en/latest/miniconda.html
- Conda documentation - https://docs.conda.io/projects/conda/en/latest/commands.html
- Visual Studio installation - https://code.visualstudio.com/
- Python extension for Visual Studio Code - https://marketplace.visualstudio.com/items?itemName=ms-python.python
- Visual Studio Code on macOS - https://code.visualstudio.com/docs/setup/mac
- Visual Studio Code on Windows - https://code.visualstudio.com/docs/setup/windows
- Visual Studio Code on Linux - https://code.visualstudio.com/docs/setup/linux
- Source code for the Jovian Python library - https://github.com/JovianML/jovian-py
- Git installation instructions - https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
- A visual git reference - https://marklodato.github.io/visual-git-guide/index-en.html
- More on connecting local and remote repositories - http://jlord.us/git-it/challenges/remote_control.html
- Tutorials on Git and GitHub - https://guides.github.com/
- Installing VS code(command line) in Ubuntu (WSL): https://linuxhint.com/install-visual-studio-code-ubuntu22-04/
Common Questions
Q1: What’s the latest version of Conda?
A: 4.10.1 (2021-04-12) is the latest version of conda. You can check on their official GitHub page - https://github.com/conda/conda/blob/master/CHANGELOG.md#4101-2021-04-12
Q2: WSL throws the following error when trying to access a drive- ls: cannot access 'd': Invalid argument What to do?
A: Restart the kernel and try, that'll make it work.
Q3: What is the basic configuration laptop and software that I will need if I need to run the notebooks offline/locally?
A: If you’d like to run Jupyter notebooks, perform data analysis and train ML models on your computer, here are the configurations we recommend:
- 8 GB RAM
- 512 GB SSD Storage
- Intel i5 CPU (4 cores)
- NVIDIA 1060 Graphics Card
- 50 Mbps Internet connection
You can use either Mac, Windows or Linux, depending on what you’re most comfortable with. On Mac, you don’t need the NVIDIA Graphics card.
NOTE: It’s not compulsory to have a machine for local development. All the code covered in this bootcamp can be executed using free online resources. And you will most likely be using cloud-based Jupyter notebooks for in your job as a data analyst or ML practitioner too. Cloud-based development is the future.
Q4: Are we going to continue using Binder/Colab during the course? Is it mandatory to install locally?
A: Yes, we will continue using Binder/Colab. If you wish, you can run notebooks locally but it is not mandatory to install locally.
Q5: If you're working with others, will you use staging or branching?
A: When working with others you have to use branching and not staging.
Q6: Can I have Conda and Anaconda installed in my system?
A: If you have Anaconda, you don't need Conda. Anaconda automatically offers conda command line.
Q7: How do we see the list of all environments we created?
A: Use the command conda info --envs to list out all the environments created.
Q8: How do we delete an environment?
A: Use the command conda remove -n env-name --all to delete an environment.
Q9: Why did we have to do the ./script.sh ?
A: The bash will not know if you're trying to type a command or a file name so to tell bash that it is a file name you give ./ and then the file name.
Q10: What happens when you try to access a file/folder that doesn't exist in the workspace?
A: The terminal will respond with no such file or directory: filename.