Make Pipenv create the virtualenv in the same folder
PIPENV_VENV_IN_PROJECT
is an environment variable, just set it (the value doesn't matter, but must not be empty). Make sure to export it so child processes of the shell can see it:
export PIPENV_VENV_IN_PROJECT="enabled"
This causes the virtualenv to be created in the .venv
directory next to the Pipfile
file. Use unset PIPENV_VENV_IN_PROJECT
to remove the option again.
You may want to see if the direnv
project can be useful here. It'll set environment variables for you, automatically, when you enter your project directory, provided you created a .envrc
file in the project directory and enabled the directory with direnv
. You then can add any such export
commands to that file.
This maybe help someone else.. I find another easy way to solve this!
Just make empty folder inside your project and name it .venv
and pipenv will use this folder.
Try
PIPENV_VENV_IN_PROJECT=1 pipenv sync -d
For the fish shell, use:
set -Ux PIPENV_VENV_IN_PROJECT 1