Scroll to navigation

PIPENV(1) pipenv PIPENV(1)

NAME

pipenv - Python package manager based on virtual env and Pipfiles

SYNOPSIS

This guide provides comprehensive instructions for installing Pipenv on various platforms and environments. Follow the approach that best suits your system and requirements.

PREREQUISITES

Before installing Pipenv, ensure you have Python and pip available on your system.

Verifying Python Installation

Check that Python is installed and available from your command line:

$ python --version
Python 3.10.4


You should see output showing your Python version. If you don’t have Python installed, download and install the latest version from python.org.

Verifying pip Installation

Ensure pip is available:

$ pip --version
pip 22.1.2


If pip is not installed, you can install it following the pip installation guide.

INSTALLATION METHODS

Recommended: Isolated Virtual Environment Installation

Modern Python installations (Python 3.11+ on recent Linux distributions like Ubuntu 24.04, Fedora 38+) enforce PEP 668, which prevents installing packages with pip install --user. The recommended approach is to install Pipenv in its own isolated virtual environment.

Option 1: Dedicated Pipenv Virtual Environment (Recommended)

Create a dedicated virtual environment for pipenv that auto-activates in your shell:

# Create a dedicated venv for pipenv
$ python3 -m venv ~/.pipenv-venv
# Install pipenv in this venv
$ ~/.pipenv-venv/bin/pip install pipenv
# Add to your shell configuration (~/.bashrc, ~/.zshrc, or ~/.profile)
$ echo 'export PIPENV_IGNORE_VIRTUALENVS=1' >> ~/.bashrc
$ echo 'export PATH="$HOME/.pipenv-venv/bin:$PATH"' >> ~/.bashrc
# Reload your shell
$ source ~/.bashrc


The PIPENV_IGNORE_VIRTUALENVS=1 setting ensures pipenv still creates and manages separate virtual environments for your projects.

Option 2: Per-Project Bootstrap

For CI/CD or when you want pipenv isolated per-project:

$ python3 -m venv .venv
$ source .venv/bin/activate  # On Windows: .venv\Scripts\activate
$ pip install pipenv
$ pipenv install


Legacy: User Installation

On older systems that don’t enforce PEP 668, you can still use user installation:

$ pip install --user pipenv


WARNING:

This method no longer works on modern Linux distributions (Ubuntu 24.04+, Fedora 38+) due to PEP 668. Use the isolated virtual environment approach above instead.


Adding Pipenv to PATH

If you used the legacy --user installation, you may need to add the user site-packages binary directory to your PATH.

On Linux and macOS

Find the user base binary directory:

$ python -m site --user-base
/home/username/.local


Add the bin directory to your PATH by adding this line to your shell configuration file (e.g., ~/.bashrc, ~/.zshrc, or ~/.profile):

export PATH="$HOME/.local/bin:$PATH"


Then reload your shell configuration:

$ source ~/.bashrc  # or ~/.zshrc, ~/.profile, etc.


On Windows

Find the user site-packages directory:

> python -m site --user-site
C:\Users\Username\AppData\Roaming\Python\Python310\site-packages


Replace site-packages with Scripts in the path, and add it to your PATH environment variable:

1.
Press Win + X and select “System”
2.
Click “Advanced system settings”
3.
Click “Environment Variables”
4.
Under “User variables”, select “Path” and click “Edit”
5.
Add the path (e.g., C:\Users\Username\AppData\Roaming\Python\Python310\Scripts)
6.
Click “OK” to save changes

You may need to restart your terminal or computer for the PATH changes to take effect.

Alternative: System-Wide Installation

If you have administrator privileges and want to install Pipenv system-wide:

# On Linux/macOS
$ sudo pip install pipenv
# On Windows (in an Administrator command prompt)
> pip install pipenv


WARNING:

System-wide installation is not recommended for most users as it can lead to conflicts with your system package manager.


Using Package Managers

macOS with Homebrew

$ brew install pipenv


NOTE:

Homebrew installation is discouraged because it works better to install pipenv using pip on macOS.


Debian/Ubuntu

$ sudo apt update
$ sudo apt install pipenv


Fedora

$ sudo dnf install pipenv


FreeBSD

$ pkg install py39-pipenv


Gentoo

$ sudo emerge pipenv


Void Linux

$ sudo xbps-install -S python3-pipenv


Using pipx

pipx is a tool to install and run Python applications in isolated environments:

# Install pipx
$ pip install --user pipx
$ python -m pipx ensurepath
# Install Pipenv using pipx
$ pipx install pipenv


This is a good alternative to the --user installation method, especially if you use multiple Python command-line tools.

Using Python Module

You can also run Pipenv as a Python module:

$ python -m pip install pipenv
$ python -m pipenv


This approach is useful when you have multiple Python versions installed and want to ensure you’re using a specific one.

VERIFYING INSTALLATION

After installation, verify that Pipenv is working correctly:

$ pipenv --version
pipenv, version 2022.5.2


If you see the version number, Pipenv is installed correctly.

UPGRADING PIPENV

To upgrade an existing Pipenv installation:

# User installation
$ pip install --user --upgrade pipenv
# System-wide installation
$ sudo pip install --upgrade pipenv
# Homebrew
$ brew upgrade pipenv
# pipx
$ pipx upgrade pipenv


INSTALLING SPECIFIC VERSIONS

If you need a specific version of Pipenv:

$ pip install --user pipenv==2022.1.8


INSTALLATION IN VIRTUAL ENVIRONMENTS

You can install Pipenv inside a virtual environment, although this is less common:

$ python -m venv pipenv-venv
$ source pipenv-venv/bin/activate  # On Windows: pipenv-venv\Scripts\activate
(pipenv-venv) $ pip install pipenv


DOCKER INSTALLATION

For Docker environments, you can install Pipenv in your Dockerfile:

FROM python:3.10-slim
# Install pipenv
RUN pip install pipenv
# Set working directory
WORKDIR /app
# Copy Pipfile and Pipfile.lock
COPY Pipfile Pipfile.lock ./
# Install dependencies
RUN pipenv install --system --deploy
# Copy application code
COPY . .
# Run the application
CMD ["python", "app.py"]


CI/CD INSTALLATION

For continuous integration environments:

# GitHub Actions example
name: Python CI
on: [push, pull_request]
jobs:

build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install pipenv
run: |
python -m pip install --upgrade pip
pip install pipenv
- name: Install dependencies
run: |
pipenv install --dev
- name: Run tests
run: |
pipenv run pytest


TROUBLESHOOTING

Command Not Found

If you get a “command not found” error after installation:

1.
Check if Pipenv is installed in your user site-packages:

$ python -m pipenv --version


2.
If that works, add the user site-packages bin directory to your PATH as described above.
3.
Try restarting your terminal or computer.

Permission Errors

If you encounter permission errors during installation:

1.
Use the --user flag to install in your home directory:

$ pip install --user pipenv


2.
If using sudo, ensure you’re using it correctly:

$ sudo pip install pipenv


3.
Check file permissions in your installation directories.

Python Version Compatibility

Pipenv requires Python 3.7 or newer. If you’re using an older version, you’ll need to upgrade Python first.

pip Not Found

If pip is not found:

1.
Install pip:

# Download get-pip.py
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
# Install pip
$ python get-pip.py --user


2.
Ensure pip is in your PATH.

BEST PRACTICES

1.
Use isolated virtual environment installation on modern systems to avoid PEP 668 restrictions.
2.
Keep Pipenv updated to benefit from the latest features and bug fixes.
3.
Set PIPENV_IGNORE_VIRTUALENVS=1 if you install pipenv in a dedicated venv, so it still manages project-specific environments.
4.
Add Pipenv to your project’s development setup instructions to ensure all developers use the same environment.
5.
Use version control for your Pipfile and Pipfile.lock to ensure consistent environments across your team.

NEXT STEPS

Now that you have Pipenv installed, you can:

1.
Create a new project: pipenv --python 3.10
2.
Install packages: pipenv install requests
3.
Activate the environment:
  • Spawn a subshell: pipenv shell
  • Or activate in current shell: eval $(pipenv activate)

4.
Run commands: pipenv run python script.py

For more detailed usage instructions, see the Quick Start Guide and Commands Reference.

AUTHOR

Python Packaging Authority

COPYRIGHT

2020. A project founded by Kenneth Reitz and maintained by <a href="https://www.pypa.io/en/latest/">Python Packaging Authority (PyPA).</a>

December 17, 2025 2026.0.3