HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
pypa
pipenv
Python2017–2024
pypa / pipenv

pipenv

Python Development Workflow for Humans.

57Distinct people
67Mentions
0Explicit recommenders
25KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Python Development Workflow for Humans.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year67 dated mentions

Observed mentions: 2017-12-06 15:57:17 UTC to 2024-09-30 18:14:19 UTC.

01020302017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 2 submissions, 0 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 32 mentions; 0 submissions, 32 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 20 mentions; 1 submissions, 19 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC220
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC32032
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC20119
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC523
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC514
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
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. Automatically generates a Pipfile, if one doesn't exist. Automatically creates a virtualenv in a standard location. Automatically adds/removes packages to a Pipfile when they are installed/uninstalled. Automatically loads .env files, if they exist. For command reference, see Commands. Basic Concepts A virtualenv will automatically be created, when one doesn't exist. When no parameters are passed to install, all packages [packages] specified will be installed. Otherwise, whatever virtualenv defaults to will be the default. Shell Completion Shell completion is powered by argcomplete. Install the optional dependency first: pip install "pipenv[completion]" For fish, add this to ~/.config/fish/completions/pipenv.fish: register-python-argcomplete --shell fish pipenv | source There is also a fish plugin, which will automatically activate your subshells for you! For zsh, add this to your ~/.zshrc: autoload -U bashcompinit bashcompinit eval "$(register-python-argcomplete pipenv)" For bash (including Git Bash on Windows), add this to ~/.bashrc or ~/.bash_profile: eval "$(register-python-argcomplete pipenv)" Then reload your shell, and tab completions are enabled! Note: If you are upgrading from pipenv < 2026.5.0, the old _PIPENV_COMPLETE environment variable method no longer works. Replace it with the register-python-argcomplete commands above. See the Shell Completion docs for details. Usage $ pipenv --help Usage: pipenv [OPTIONS] COMMAND [ARGS]... Options: --where Output project home information. --venv Output virtualenv information. --py Output Python interpreter information. --envs Output Environment Variable options. --rm Remove the virtualenv. --bare Minimal output. --man Display manpage. --support Output diagnostic information for use in GitHub issues. --site-packages / --no-site-packages Enable site-packages for the virtualenv. [env var: PIPENV_SITE_PACKAGES] --python TEXT Specify which version of Python virtualenv should use. --clear Clears caches (pipenv, pip). [env var: PIPENV_CLEAR] -q, --quiet Quiet mode. -v, --verbose Verbose mode. --pypi-mirror TEXT Specify a PyPI mirror. --version Show the version and exit. -h, --help Show this message and exit. Usage Examples: Create a new project using Python 3.7, specifically: $ pipenv --python 3.7 Remove project virtualenv (inferred from current directory): $ pipenv --rm Install all dependencies for a project (including dev): $ pipenv install --dev Create a lockfile containing pre-releases: $ pipenv lock --pre Show a graph of your installed dependencies: $ pipenv graph Check your installed dependencies for security vulnerabilities: $ pipenv check Install a local setup.py into your virtual environment/Pipfile: $ pipenv install -e . Use
Read the full README on GitHub

What Hacker News says

67 sources
I genuinely don't understand how someone can be a "proponent" of pipenv. In the mangled space of python package maintenance, pipenv is probably the absolute worst solution - pipenv install updates your lockfile on install exactly like how `npm install` updates the package-lock.json and requires additional flags to use the lockfile instead - pipenv's dependency resolution is the slowest among all the tools in this space including poetry, pip-tools, hatch and so on - pipenv has consistently failed to do its job to simply install dependencies because of issues like the one described in the article where it fails to resolve changes in hash simply because a new wheel was added for the platform - Tons of longstanding bugs that fail to be resolved in any sort of timely manner like this one: https://github.com/pypa/pipenv/issues/2413 I am sick an
Read the rest
d tired of the python packaging space pushing this godawful tool for Python. Please just use pip-tools or poetry instead.
In A not so unfortunate sharp edge in Pipenv
There is an issue from 2019 on the pipenv tracker for this issue: https://github.com/pypa/pipenv/issues/3893 According to the last comment there it should be fixed: > I don't think this should be an issue in the current 2022.4.8 release because of the requirement to use index restricted packages for locking. Please advise if you think this is still a concern and we can revisit it. But apparently it is still an issue (assuming the author did use a recent enough pipenv version) From the article: > Overall this is pipenv working exactly as it should. I don't agree, IMO pipenv should just install from the source package and ignore the newer wheel, maybe showing a warning about the new wheel. Edit: Just noticed that the author agrees in the end: > I suppose the behavior I’d like to see here is that if my Pipfile.lock has hashes in it for a di
Read the rest
stribution, then even if additional distributions are available, pipenv sync should be allowed to continue to install from the distribution corresponding to the “trusted” hash. I prefer to use https://python-poetry.org/ instead of pipenv, since it has less issues in my experience. But I wonder how it would behave in this situation.
In A not so unfortunate sharp edge in Pipenv
I went through the same progression, thinking pipenv was the official solution before deciding it wasn’t. Then, just now, I realized that pipenv [1] is currently owned by the Python Packaging Authority (PyPA) who also owns pip [2] and virtualenv [3]. I don’t know the right answer but this illustrates the confusion of not coalescing around an official solution. [1]: https://github.com/pypa/pipenv [2]: https://github.com/pypa/pip [3]: https://github.com/pypa/virtualenv
In How to make a Python package in 2021
Python desperately needs a better packaging solution than pip from Python Software Foundation. Stop all new features until this - the biggest pain point for Python across all expertise levels from newbies to experienced Python programmers - is officially solved. No pipenv, no poetry, no conda, etc from third party devs who sometimes get tired of the pressure [1]. It is immense. Combine all this virtualenv stuff with great dependency management into one tool. In the spirit of Python, there should be only one way to package, manage dependencies and virtual environments. It should be super clean (see Go). Python needs a BDFL to enforce the hive mind. It is a fucking mess and it's unacceptable. Python is otherwise the most incredible language of our times. It is so far ahead of anything out there for general purpose use. Relevant xkcd: https:
Read the rest
In What the Heck Is Pyproject.toml?

Showing the 15 most recent of 67 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.