docs/installation.md
This guide provides comprehensive instructions for installing Pipenv on various platforms and environments. Follow the approach that best suits your system and requirements.
Before installing Pipenv, ensure you have Python and pip available on your system.
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.
Ensure pip is available:
$ pip --version
pip 22.1.2
If pip is not installed, you can install it following the pip installation guide.
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.
Install pipx (requires Python 3.7+):
> python -m pip install --user pipx
> python -m pipx ensurepath
Close and reopen your terminal so the updated PATH takes effect.
Install Pipenv via pipx:
> pipx install pipenv
Verify the installation:
> pipenv --version
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:
> python -m site --user-site
C:\Users\Username\AppData\Roaming\Python\Python311\site-packages
site-packages with Scripts in that path.PATH via System → Advanced system settings → Environment Variables.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.
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.
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.
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
On older systems that don't enforce PEP 668, you can still use user installation:
$ pip install --user pipenv
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.
If you used the legacy --user installation, you may need to add the user site-packages binary directory to your PATH.
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.
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:
Win + X and select "System"C:\Users\Username\AppData\Roaming\Python\Python310\Scripts)You may need to restart your terminal or computer for the PATH changes to take effect.
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
System-wide installation is not recommended for most users as it can lead to conflicts with your system package manager.
$ brew install pipenv
Homebrew installation is discouraged because it works better to install pipenv using pip on macOS.
$ sudo apt update
$ sudo apt install pipenv
$ pkg install py39-pipenv
$ sudo emerge pipenv
$ sudo xbps-install -S python3-pipenv
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.
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.
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.
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
If you need a specific version of Pipenv:
$ pip install --user pipenv==2022.1.8
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
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"]
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
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.
If you encounter permission errors during installation:
Use the --user flag 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.
Pipenv requires Python 3.7 or newer. If you're using an older version, you'll need to upgrade Python first.
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.
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=1 if 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 Pipfile and Pipfile.lock to ensure consistent environments across your team.
Now that you have Pipenv installed, you can:
pipenv --python 3.10pipenv install requestspipenv shelleval $(pipenv activate)pipenv run python script.pyFor more detailed usage instructions, see the Quick Start Guide and Commands Reference.