Repolode
pypa

pypa/pipenv

A Python virtualenv and dependency management tool that combines pip and virtualenv, using Pipfile and Pipfile.lock for reproducible builds.

Stars
25,020
Forks
1,888
Open issues
8
Last commit
yesterday

What is it?

Pipenv is a Python tool for managing project virtual environments and dependencies. It automatically creates a virtualenv for each project and adds or removes packages from a Pipfile as you install or uninstall them, so pip and virtualenv no longer need to be used separately.

Dependencies are declared in a Pipfile and resolved into a Pipfile.lock, which records the exact tested versions and file hashes. Hashes are verified on install, and the lock file supports deterministic builds. Commands such as graph, check, and requirements cover dependency inspection, vulnerability checks, and exporting a requirements.txt.

Pipenv runs on Linux, macOS, and Windows, and can install required Python versions when pyenv or asdf is available. It also loads .env files automatically and provides shell completion for bash, zsh, and fish.

Key features

  • 01Generates Pipfile.lock with file hashes for deterministic installs.
  • 02Automatically creates and manages a virtualenv per project.
  • 03Adds or removes packages in Pipfile as you install or uninstall them.
  • 04Installs required Python versions via pyenv or asdf.
  • 05Shows dependency graphs and checks for known security vulnerabilities.
  • 06Loads .env files and supports shell completion.

Use cases

  • Managing dependencies and virtualenvs for a Python application project.
  • Replacing a requirements.txt workflow with a lock file that pins tested versions.
  • Keeping development dependencies separate from production packages.
  • Onboarding teammates to a consistent project environment across operating systems.

Quick start

  1. 1

    Install Pipenv with pip

    pip install --user pipenv
  2. 2

    Install a package into a project virtualenv (creates it automatically)

    pipenv install requests
  3. 3

    Spawn a shell inside the project virtualenv

    pipenv shell

Things to know

  • Installation and workflow details vary by platform and package manager, and the documentation is the reference for latest instructions.
  • Pipenv requires Python 3.11 or newer.

Topics

FAQ

What is pipenv?
A Python virtualenv and dependency management tool that combines pip and virtualenv, using Pipfile and Pipfile.lock for reproducible builds. Pipenv is a Python tool for managing project virtual environments and dependencies. It automatically creates a virtualenv for each project and adds or removes packages from a Pipfile as you install or uninstall them, so pip and virtualenv no longer need to be used separately.
Is pipenv free to use? What license does it have?
pipenv is open source under the MIT license. Check the license terms before using it in commercial products.
Is pipenv still maintained?
Actively maintained. The last commit to pipenv was on Nov 5, 2026.
What can I use pipenv for?
Managing dependencies and virtualenvs for a Python application project. Replacing a requirements.txt workflow with a lock file that pins tested versions. Keeping development dependencies separate from production packages. Onboarding teammates to a consistent project environment across operating systems.
How do I install pipenv?
Install Pipenv with pip: pip install --user pipenv Install a package into a project virtualenv (creates it automatically): pipenv install requests Spawn a shell inside the project virtualenv: pipenv shell
Where can I get pipenv?
The source code and installation instructions are on GitHub: https://github.com/pypa/pipenv

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects