On 2019-03-30 15:57:55 +0530, Arup Rakshit wrote: > This is awesome. Now where should I put my source code? I see many folders > into it.
You don't. In my opinion virtual environments should be expendable: You can destroy and recreate them at will. That leaves two possibilies: 1) Use a "central repository" of virtual environments. For example, I have a directory ~/venv/ which contains the virtual environments. My project directories are elsewhere, so when I'm working on a project, I' usually do something like: % venv project-environment % cd ~/wrk/project/src % pip install -r requirements.txt The first (venv is a litte shell function I wrote, see below) activates the environment, the second cds to the source code (note that the environment and the project don't have to have the same name, although they often do), the third installs any required packages into the virtual environment (of course I do that only after they change, not every time). 2) Put each virtual environment into a subdirectory of the project, like this: . ├── project1 │ ├── src │ └── venv └── project2 ├── src └── venv Then I would do something like: % cd project1 % venv % cd src % pip install -r requirements.txt I started with the second method and switched to the first. I like the flexibility: I can reuse the same environment for multiple projects or test the same project in multiple environments. I can also easily see which environments I have and delete them if I don't need them any more (I can always recreate them with pip install -r requirements.txt) The requirements.txt file contains the packages your project needs. Every project should have one. Some people like to generate it automatically with "pip freeze", but I prefer to write it myself and put only first-level requirements (not requirements of those requirements) into it. I also only put version numbers into it if I know that I need a specific version (or range of versions). Normally getting the newest version is fine. Finally, here is my venv function: venv() { for d in venv/"$1" ve/"$1" ~/venv/"$1" "$1" do if [ -f "$d"/bin/activate ] then . "$d"/bin/activate break fi done } hp -- _ | Peter J. Holzer | we build much bigger, better disasters now |_|_) | | because we have much more sophisticated | | | h...@hjp.at | management tools. __/ | http://www.hjp.at/ | -- Ross Anderson <https://www.edge.org/>
signature.asc
Description: PGP signature
-- https://mail.python.org/mailman/listinfo/python-list