* Begin reviewing the basics docs. * Check in delta * More doc revisions. * Split apart basics docs. * Refactor based on building docs * add the files back as markdown. * more conversions to markdown. * more conversions to markdown. * fix markdown formatting. * convert index to markdown. * More docs review * More markdown and doc revisions. * Fix docs. * Update doc build requirements. * fix lint * Fix build with update/upgrade command. * remove useless quickstart and update the commands section. * Fix lint * change ordering of table of contents. * fix changelog duplicate headings. * Start splitting advanced topics. * minor nits * Move some sections from advanced to shell. * remove this section as its stale and kind of off topic. * move scripts out into its own section. * Wrap up revisions1 * fix lint * address PR feedback and other nits. * fix lint * Try improving ordering of table of contents, fix issue with indexes.md file location. * fix lint * PR feedback.
3.0 KiB
Pipenv: Python Dev Workflow for Humans
Pipenv is a Python virtualenv management tool that supports a multitude of systems and nicely bridges the gaps between pip, pyenv and virtualenv. Linux, macOS, and Windows are all first-class citizens in pipenv.
It 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 the ever-important 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 setup a working environment.
The problems that Pipenv seeks to solve are multi-faceted:
- You no longer need to use
pipandvirtualenvseparately. They work together. - Managing a
requirements.txtfile with package hashes can be problematic. Pipenv usesPipfileandPipfile.lockto separate abstract dependency declarations from the last tested combination. - Hashes are documented in the lock file, always. 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
.envfiles.
Install Pipenv Today!
The recommended way to install pipenv on most platforms is to install from pypi using pip:
$ pip install --user pipenv
More detailed installation instructions can be found in the :ref:installing-pipenv chapter.
✨🍰✨
Pipenv Features
- Enables truly deterministic builds, while easily specifying only what you want.
- Generates and checks file hashes for locked dependencies when installing from
Pipfile.lock. - Automatically install required Python version when
pyenvis available. - Automatically finds your project home, recursively, by looking for a
Pipfile. - Automatically generates a
Pipfile, if one doesn't exist. - Automatically creates a virtualenv in a standard customizable location.
- Automatically adds/removes packages to a
Pipfilewhen they are installed or uninstalled. - Automatically loads
.envfiles to support customization and overrides.
Pipenv Documentation
---
caption: Pipenv Documentation
maxdepth: 2
---
installation
pipfile
cli
commands
configuration
virtualenv
workflows
specifiers
indexes
credentials
shell
docker
scripts
advanced
diagnose
changelog
Contribution Guides
---
caption: Contributing to Pipenv
maxdepth: 2
---
dev/contributing