25,020
stars
+0+1+-5
1,887
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
Pipenv: Python Development Workflow for Humans
==============================================
------------------------------------------------------------------------
Pipenv is a Python virtualenv management tool that supports a multitude of systems and nicely bridges the gaps between pip, python (using system python, pyenv or asdf) and virtualenv.
Linux, macOS, and Windows are all first-class citizens in pipenv.
Pipenv automatically creates and manages a virtualenv for your projects, as well as adds/removes packages from your Pipfile as you install/uninstall packages. It also generates a project Pipfile.lock, which is used to produce deterministic builds.
Pipenv is primarily meant to provide users and developers of applications with an easy method to arrive at a consistent working project environment.
The problems that Pipenv seeks to solve are multi-faceted:
- You no longer need to use pip and virtualenv separately: they work together.
- Managing a requirements.txt file with package hashes can be problematic. Pipenv uses Pipfile and Pipfile.lock to separate abstract dependency declarations from the last tested combination.
- Hashes are documented in the lock file which are verified during install. Security considerations are put first.
- Strongly encourage the use of the latest versions of dependencies to minimize security risks arising from outdated components.
- Gives you insight into your dependency graph (e.g. $ pipenv graph).
- Streamline development workflow by supporting local customizations with .env files.
Table Of Contents
------------------
- Pipenv
- Installation
- Features
- Basic Concepts
- Other Commands
- Shell Completion
- Usage
- Usage Examples
- Commands
- Locate the Project
- Locate the virtualenv
- Locate the Python Interpreter
- Install Packages
- Installing from git
- Install a dev dependency
- Show a dependency graph
- Generate a lockfile
- Install all dev dependencies
- Uninstall everything
- Use the shell
- Documentation
Installation
------------
Pipenv can be installed with Python 3.11 and above, including Python 3.15.
For most users, we recommend installing Pipenv using pip:
pip install --user pipenv
Or, if you\'re using FreeBSD:
pkg install py39-pipenv
Or, if you\'re using Gentoo:
sudo emerge pipenv
Or, if you\'re using Void Linux:
sudo xbps-install -S python3-pipenv
Alternatively, some users prefer to use Pipx:
pipx install pipenv
Or, some users prefer to use Python pip module.
python -m pip install pipenv
Refer to the documentation for latest instructions.
✨🍰✨
Features
----------
- Enables truly deterministic builds, while easily specifying only
what you want.
- Generates and checks file hashes for locked dependencies.
- Automatically install required Pythons, if pyenv or asdf is available.
- Automatically finds your project home, recursively, by looking for a
Pipfile.
-