[Python] Activating virtualenv with direnv doesn't activate virtualenv

Discussão em 'Python' iniciado por Stack, Março 28, 2025.

  1. Stack

    Stack Membro Participativo

    I'm using direnv to source my virtualenv when I change into the directory.

    project/
    .envrc
    env/ <--- my virtualenv


    .envrc

    source env/bin/activate


    When I change directory into /project I get the output:

    direnv: loading .envrc
    direnv: export +VIRTUAL_ENV -PS2 ~PATH


    It prepends the env directory to my PATH environment variable so when I run which python and which pip both point to python and pip that's in my env directory

    $ which python
    /USER/project/env/bin/python
    $ which pip
    /USER/project/env/bin/pip


    However, it doesn't seem to run source env/bin/activate as I expect it to. I expect it to activate my virtualenv by adding the virtualenv name (env) to my CLI prompt and give access to the deactivate command, neither of that happens. Is there something I'm misunderstanding about how direnv and virtualenv work? I'm new to Python so I'm not sure if there are existing tools to do something like this.

    Continue reading...

Compartilhe esta Página