mirror of
https://github.com/kennethreitz/pipenv.git
synced 2026-06-05 22:50:18 +00:00
761a03d088
* 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.
78 lines
3.0 KiB
Markdown
78 lines
3.0 KiB
Markdown
# Pipenv: Python Dev Workflow for Humans
|
|
[](https://pypi.python.org/pypi/pipenv) [](https://pypi.python.org/pypi/pipenv) [](https://pypi.python.org/pypi/pipenv)
|
|
|
|
**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 `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, always. Security considerations are put first.
|
|
- Strongly encourage the use of the latest versions of dependencies to minimize security risks [arising from outdated components](https://www.owasp.org/index.php/Top_10-2017_A9-Using_Components_with_Known_Vulnerabilities).
|
|
- Gives you insight into your dependency graph (e.g. `$ pipenv graph`).
|
|
- Streamline development workflow by supporting local customizations with `.env` files.
|
|
|
|
|
|
## 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 `pyenv` is 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 `Pipfile` when they are installed or uninstalled.
|
|
- Automatically loads `.env` files to support customization and overrides.
|
|
|
|
|
|
|
|
## Pipenv Documentation
|
|
|
|
```{toctree}
|
|
---
|
|
caption: Pipenv Documentation
|
|
maxdepth: 2
|
|
---
|
|
installation
|
|
pipfile
|
|
cli
|
|
commands
|
|
configuration
|
|
virtualenv
|
|
workflows
|
|
specifiers
|
|
indexes
|
|
credentials
|
|
shell
|
|
docker
|
|
scripts
|
|
advanced
|
|
diagnose
|
|
changelog
|
|
```
|
|
|
|
## Contribution Guides
|
|
|
|
```{toctree}
|
|
---
|
|
caption: Contributing to Pipenv
|
|
maxdepth: 2
|
|
---
|
|
dev/contributing
|
|
```
|