Skip to main content

Posts

Showing posts with the label virtual environments

Quick and easy packages list

 I created a new project and knew at some point I would have to look into how requirements.txt files are created. I'm still in the early stages of the project though, so I didn't really look into it. As luck would have it, I accidentally came across it while looking up something else. It's so easy! All I have to do is run a command while my virtual environment is active. pip freeze > requirements.txt Running the command pip freeze alone would list out all the third party packages that have been installed along with their version numbers. Using the command above puts it all into a file named requirements.txt. Technically I could name the file anything I want but it appears to be convention to name it thus. This way, anyone who clones your project can easily install the packages and run the project. Reference: https://towardsdatascience.com/virtual-environments-104c62d48c54  

Python Virtual Environments

I learnt about this early in the Python Course. I filed it away in my brain. Now that I'm learning about Django, it has come up again and all I can think is Virtual Environment who?? So for the benefit of my future junior software developer self, a virtual environment is a tool that enables one to keep  dependencies required by different projects together by creating an environment for them. In plain speak, I have a hypothetical box for Project A. It requires dependencies with specific versions- Dependency A ver 1.0, Dependency B ver 1.4, Dependency C ver 2.3.I put all these dependencies(with their specific versions) in that box. Now comes along Project B, which requires a different set of dependencies with different versions. Perhaps because the versions have since been updated. I store them all in hypothetical box 2. So each one of these hypothetical boxes is a virtual environment. It allows me to use different dependencies with my different projects because dependencies change...