Get path of virtual environment in pipenv

How to can get the path of virtualenv in pipenv?

can configure it to use a custom path for newly created virtualenv?

45839 次浏览

The following should give you the paths

$ pipenv --where
/home/wonder/workspace/myproj
$ pipenv --venv
/home/wonder/PyEnvs/myproj-BKbQCeJj

Adding to Sewagodimo Matlapeng's answer for the second part of the question:

can configure it to use a custom path for newly created virtualenv?

According to documentation, you can set the base location for the virtualenvs with the environment variable WORKON_HOME. If you want to place the virtualenv specifically in <project>/.venv, set the environment variable PIPENV_VENV_IN_PROJECT.

e.g., running:

export WORKON_HOME=/tmp
pipenv install

Would place the virtualenv in /tmp/<projectname>-<hash>.

I create a command to handle this:

https://github.com/tw-yshuang/Ubuntu-Setup-Scripts/blob/8917578f9ad95be03f48608b7068337215d33f92/config/.customfunction#L12

From line 12 ~ 105

Usage: pipenv_correspond [OPTION]


OPTION:
ls,  --list                list all the corresponding projects_root & venvs
uls, --useless             list all the not existing projects_roots that still have corresponding venvs
npr, --no-project-root     hide projects_root
rm,  --remove              remove all the venvs from command: "ls" or "uls", deafult is use "uls"


# example
$ pipenv_correspond ls

There have some options that suggest you enable this command:

  1. Recommend, create a ~/.customfunction file and paste it, then use this command:
$ echo '# customfunction\nsource ~/.customfunction' >> <shell_profile>

shell_profile, e.g. ~/.bash_profile, ~/.zshrc

  1. you can copy this code from line 12 ~ 105 to your shell_profile.

You can simple use following command:

pipenv --where