amir
amir

Reputation: 2583

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?

Upvotes: 106

Views: 76431

Answers (6)

Vengleab SO
Vengleab SO

Reputation: 814

Instead of finding mysterious env path of Pipenv, I'd recommend to set WORKON_HOME, so that Pipenv will create virtual env within project directory

export WORKON_HOME=./venv 

If you insist to, u can use command below (as mentioned by Sewagodimo Matlapeng):

pipenv --venv

Upvotes: 0

JoPinc
JoPinc

Reputation: 51

You can check the documentation in "Usage" section:

https://github.com/pypa/pipenv#usage

You can find these two options:

  • --where Output project home information.
  • --venv Output virtualenv information.

The option "--venv" gives you the virtualenv path.

Or better here:

https://github.com/pypa/pipenv#locate-the-virtualenv

BR

Upvotes: 5

Sandeep Pal
Sandeep Pal

Reputation: 21

You can simple use following command:

pipenv --where

Upvotes: -5

ys_huang
ys_huang

Reputation: 103

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.

Upvotes: 0

Omer Anson
Omer Anson

Reputation: 329

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>.

Upvotes: 18

Sewagodimo Matlapeng
Sewagodimo Matlapeng

Reputation: 2346

The following should give you the paths

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

Upvotes: 183

Related Questions