Alex Kleider <aklei...@sonic.net> writes: > I'm still struggling with what is the best way to set up a project > directory.
One thing to learn is that there's no one right way that is universally applicable. In particular, you are asking about *social* conventions here. These are prone to change and negotiation and exceptions. > Assuming the latter scenario, where should one run > virtualenv -p python3 venv? > ... at the top level or within the second level? I recommend keeping the virtualenv entirely *outside* the code base. Make a directory elsewhere to hold your virtualenvs, like a directory to hold your caches. Removing and re-populating the virtualenv should be independent from removing and re-populating the working tree. Hence they should be entirely separate directories. > The main reason I want to get this right is because all my .py files > begin with a shebang line of the form > #!../venv/bin/python3 That's exactly the wrong thing to do. Your shebang line should *not* assume a custom location of the Python interpreter. It's the responsibility of the operating system or virtualenv to provide the Python interpreter command in a standard place. Instead, use: #! /usr/bin/env python3 or: #! /usr/bin/python3 and leave it to the operating system and the virtualenv to provide the Python interpreter correctly. -- \ “You've got to think about big things while you're doing small | `\ things, so that all the small things go in the right | _o__) direction.” —Alvin Toffler | Ben Finney _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor