Installing Pipenv¶
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.
Installing on Windows¶
Windows is a first-class platform for Pipenv. The recommended installation method on
Windows is pipx, which installs Pipenv in an isolated environment and makes the
pipenv command available system-wide.
Recommended: pipx (Windows)¶
Install pipx (requires Python 3.7+):
> python -m pip install --user pipx > python -m pipx ensurepath
Close and reopen your terminal so the updated
PATHtakes effect.Install Pipenv via pipx:
> pipx install pipenv
Verify the installation:
> pipenv --version
Alternative: pip install (Windows)¶
If you prefer not to use pipx, you can install Pipenv with pip:
> pip install pipenv
If the pipenv command is not found afterwards, add the Python Scripts directory to
your PATH:
Find the Scripts directory:
> python -m site --user-site C:\Users\Username\AppData\Roaming\Python\Python311\site-packages
Replace
site-packageswithScriptsin that path.Add it to your
PATHvia System → Advanced system settings → Environment Variables.
Note
Unlike Linux and macOS, pip install --user on Windows places the pipenv executable
under %APPDATA%\Python\PythonXY\Scripts\. Make sure this directory is on your PATH
or use pipx to avoid this manual step entirely.
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:
Press
Win + Xand select “System”Click “Advanced system settings”
Click “Environment Variables”
Under “User variables”, select “Path” and click “Edit”
Add the path (e.g.,
C:\Users\Username\AppData\Roaming\Python\Python310\Scripts)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
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:
Check if Pipenv is installed in your user site-packages:
$ python -m pipenv --version
If that works, add the user site-packages bin directory to your PATH as described above.
Try restarting your terminal or computer.
Permission Errors¶
If you encounter permission errors during installation:
Use the
--userflag to install in your home directory:$ pip install --user pipenv
If using sudo, ensure you’re using it correctly:
$ sudo pip install pipenv
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:
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
Ensure pip is in your PATH.
Best Practices¶
Use isolated virtual environment installation on modern systems to avoid PEP 668 restrictions.
Keep Pipenv updated to benefit from the latest features and bug fixes.
Set
PIPENV_IGNORE_VIRTUALENVS=1if you install pipenv in a dedicated venv, so it still manages project-specific environments.Add Pipenv to your project’s development setup instructions to ensure all developers use the same environment.
Use version control for your
PipfileandPipfile.lockto ensure consistent environments across your team.
Next Steps¶
Now that you have Pipenv installed, you can:
Create a new project:
pipenv --python 3.10Install packages:
pipenv install requestsActivate the environment:
Spawn a subshell:
pipenv shellOr activate in current shell:
eval $(pipenv activate)
Run commands:
pipenv run python script.py
For more detailed usage instructions, see the Quick Start Guide and Commands Reference.