Skip to content

Comment on Boring Python: dependency management (2022)parent

Comments

It's better to activate the virtualenv properly:

. .venv/bin/activate

Setting up just the PATH may confuse some tools.

I personally intensely dislike tools that change the environment based on the directory contents. I use an `exec` script in the root (or parent, sometimes) that just does this:

    ```
    #!/bin/bash

    source .venv/bin/activate
    exec $SHELL $@
    ```
That gives me a subshell with the virtual env active, and the path to the virtual env goes into $PS1 so I've got a very visible "you are working in this project" signifier.

I don't know why subshells aren't more popular for this sort of thing, they remove a lot of ambiguity (and subsequent opportunities to screw things up) for me.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.