is a high-level configuration file used by to manage Python project dependencies, specifically designed to replace and improve upon the traditional requirements.txt
Pipfile instead of requirements.txt for new projects.Pipfile up-to-date by running pipfile add and pipfile install regularly.| Feature | requirements.txt | Pipfile + Pipenv | | :--- | :--- | :--- | | | Plain text, list of names/versions | Structured TOML | | Dev vs. Prod | Manual separate files ( -r base.txt ) | Native [dev-packages] section | | Environment manager | Relies on venv or virtualenv (manual) | Built-in pipenv shell (auto virtualenv) | | Deterministic builds | Requires pip freeze > requirements.txt (no hashes) | Automatic Pipfile.lock with hashes | | Source management | Unsupported (relies on --index-url flags) | Native [[source]] section | | Python version | Not recorded | Recorded in [requires] | Pipfile
pipenv install requests
Pipfile modernizes dependency declaration with a clearer, structured format and separation of concerns; used with Pipfile.lock it enables reproducible environments. For new projects, evaluate pipenv vs poetry vs pyproject-based tools and choose based on needs: simplicity (Pipfile), advanced packaging (pyproject/poetry), or minimal tooling (requirements.txt). is a high-level configuration file used by to
: Define custom shortcuts (like pipenv run start ) directly in the file to automate your workflow. Quick Commands Pipfile & Pipfile.lock — pipenv 2026.5.2 documentation Commit both to version control
requests==2.31.0 flask==2.3.3 pytest==7.4.0